Agenda de defesas Agenda de defesas

Voltar

Pós em Computação promove defesas de dissertações amanhã e sexta-feira (9)

As apresentações ocorrerão no auditório do Centro de Informática

Victor Laerte de Oliveira, aluno do Programa de Pós-Graduação em Ciência Computação pela UFPE vai defender, amanhã (8), sua dissertação de mestrado “An Empirical Study on the Usage of the Kotlin Programming Language for Android Development”, desenvolvida sob orientação do professor Leopoldo Motta Teixeira. A defesa ocorrerá no auditório do Centro de Informática, às 9h, e será avaliada por uma banca composta pelos professores Fernando José Castor de Lima Filho (UFPE/CIn), Gustavo Henrique Lima Pinto (UFPA/Instituto de Ciências Exatas e Naturais) e Leopoldo Motta Teixeira (UFPE/CIn).

No turno da tarde, às 15h, no mesmo espaço, outro aluno da pós em Ciência da Computação Lucas Rodolfo Celestino de Farias vai defender a dissertação “Algoritmo Evolucionário para Muitos Objetivos Baseado em Decomposição Com Divisão do Espaço Objetivo e Atualização de Pesos Quando Requerida”, desenvolvida sob orientação do professor Aluizio Fausto Ribeiro Araújo. A apresentação contará com banca examinadora composta pelos professores Aluizio Fausto Ribeiro Araújo (UFPE / Centro de Informática), Frederico Gadelha Guimarães (UFMG/Departamento de Engenharia Elétrica) e Carmelo Jose Albanez Bastos Filho  (UPE/Escola Politécnica de PE).

O aluno Avyner Henrique Bezerra da Fonseca Lucena defenderá, na sexta-feira (9), sua dissertação de mestrado “Investigação do Uso de Computação Evolucionária para Descoberta de Subgrupos em Conjunto de Dados Numéricos de Alta Dimensionalidade”, no Programa de Pós-Graduação em Ciência da Computação da UFPE. O projeto tem a orientação do professor Renato Vimieiro. A banca avaliadora contará com a participação dos professores Paulo Salgado Gomes de Mattos Neto (CIn/UFPE), Miguel Couceiro (Université de Lorraine, França/Computer Science-Inria Nancy) e Renato Vimieiro (UFMG/Departamento de Ciência da Computação). A defesa ocorrerá no Centro de Informática, às 13h no auditório do centro.

Resumos

“An Empirical Study on the Usage of the Kotlin Programming Language for Android Development”- Em 2017, o Google anunciou o Kotlin como uma das linguagens de programação oficialmente suportadas para o desenvolvimento Android. Até então, apenas Java e C++ faziam parte dessa lista. Entre as razões para a escolha do Kotlin, o Google mencionou que ele é “conciso, expressivo e projetado para ser seguro em termos de tipo e nulo”'. Outra razão importante foi que o Kotlin é uma linguagem totalmente interoperável com Java e roda na JVM. Apesar da rápida ascensão de Kotlin na indústria, muito pouco foi feito na academia para entender como os desenvolvedores estão lidando com a adoção de Kotlin. Esta pesquisa tem como objetivo coletar evidências para entender como os desenvolvedores estão lidando com a recente adoção do Kotlin como uma linguagem oficial para o desenvolvimento Android, sua percepção sobre as vantagens e desvantagens do Kotlin e os problemas mais comuns enfrentados por eles. Esta pesquisa foi conduzida usando a estratégia de triangulação concorrente, uma abordagem de método misto. Realizamos uma análise completa de 9.405 questões relacionadas ao desenvolvimento do Kotlin para a plataforma Android no StackOverflow. Simultaneamente, também realizamos uma pesquisa qualitativa básica entrevistando sete desenvolvedores do Android que usam o Kotlin para confirmar e validar de forma cruzada nossa análise. Nosso estudo revela que os desenvolvedores parecem achar a linguagem fácil de entender e adotar. Essa percepção começa a mudar quando o paradigma funcional se torna mais evidente. De acordo com os desenvolvedores, a legibilidade é comprometida quando os desenvolvedores abusam do paradigma funcional que a linguagem oferece. Os desenvolvedores também consideram que o Kotlin aumenta a qualidade do código produzido, principalmente devido às suas garantias de segurança contra tipos nulo, mas que também pode se tornar um desafio ao interoperar com o Java, apesar da interoperabilidade ser vista como uma vantagem. Embora a adoção do Kotlin exija algum cuidado dos desenvolvedores, os benefícios de sua adoção no Android ele consideram que a linguagem traz muitas vantagens para a plataforma, especialmente pela possibilidade de adotar uma linguagem mais moderna mantendo um ambiente de desenvolvimento consolidado baseado em Java.

“Algoritmo Evolucionário para Muitos Objetivos Baseado em Decomposição Com Divisão do Espaço Objetivo e Atualização de Pesos Quando Requerida” - Ao lidar com algoritmos evolucionários baseados em decomposição, um conjunto apropriado de pesos pode melhorar a qualidade da solução final. Um conjunto de pesos uniformemente distribuídos geralmente leva a soluções bem distribuídas em uma frente de Pareto. No entanto, existem duas dificuldades principais nesta abordagem. Em primeiro lugar, pode falhar dependendo da geometria do problema. Em segundo lugar, o tamanho da população não é flexível quando se lida com problemas de muitos objetivos. Nesta dissertação propomos o Moea/D com Atualização de pesos quando Requerida (Moea/D-UR) que lida com essas limitações usando método de geração de pesos aleatoriamente uniforme, adaptação de pesos baseada na dispersão populacional e uma métrica de melhoria para determinar quando ajustar pesos, acompanhada por uma abordagem de divisão do espaço objetivo para aumentar a diversidade. Resultados experimentais usando um problema de mundo real e as classes de problemas WFG1-WFG9, DTLZ1-DTLZ7 e IDTLZ1-2 com 3, 5, 8, 10 e 15 objetivos, mostram que a proposta é competitiva quando comparada com os métodos de ponta da literatura.

“Investigação do Uso de Computação Evolucionária para Descoberta de Subgrupos em Conjunto de Dados Numéricos de Alta Dimensionalidade” – O trabalho proposto nesta dissertação trata de um novo algoritmo evolucionário para a área de Subgroup Discovery “SD”, com foco na mineração de padrões em conjuntos de dados numéricos de alta dimensionalidade. Subgroup Discovery é uma técnica descritiva para mineração de dados, cujo objetivo é encontrar e descrever subgrupos em conjuntos de dados, a partir de propriedades de interesse previamente definidas. A área em questão possui uma ampla gama de aplicações e casos de uso, porém, poucas dessas técnicas são capazes de atuar adequadamente sobre atributos numéricos contínuos, o que pode ser considerado um problema tendo em vista que conjuntos de dados provenientes do mundo real recorrentemente possuem atributos de diferentes tipos. Para poder trabalhar com dados contínuos, algumas técnicas de SD demandam discretização prévia de tais atributos, porém, esse tipo de solução tende a trazer perda de informações e resultados imprecisos. Devido ao rápido desenvolvimento das tecnologias de coleta e armazenamento de dados, problemas cada vez mais complexos tendem a surgir, como, por exemplo, os conjuntos de dados de alta dimensionalidade, que, por sua vez, podem possuir centenas de milhares de atributos, tornando ainda mais desafiadora a tarefa de mineração de padrões e, consequentemente, a descoberta de subgrupos. Até o momento, não existem trabalhos publicados na área com foco em conjuntos numéricos de alta dimensionalidade, então, o trabalho aqui proposto visa otimizar o processo de descoberta de subgrupos por meio de dois aspectos principais, que são: trabalhar adequadamente com dados contínuos sem deixar de abranger categóricos; juntamente com uma estratégia evolucionária capaz de lidar com conjuntos de dados de alta dimensionalidade. Após a realização de um amplo estudo experimental, o algoritmo proposto se demonstrou competitivo e muitas vezes superior em relação a outras técnicas do estado da arte e trabalhos recém-publicados na área.

Mais informações
Programa de Pós Graduação em Ciência da Computação
(81) 2126.7754

ppgci@ufpe.br

Data da última modificação: 07/08/2019, 14:20