Voltar

Ciência da Computação realiza defesas de tese e de dissertações amanhã (20)

Apresentações ocorreram em espaços do Centro de Informática

O Programa de Pós-Graduação em Ciência da Computação promove amanhã (20) três defesas de uma tese e de duas dissertações. As apresentações serão no Centro de Informática da UFPE.

1 – Defesa da tese 

20/02 – às 9h – Centro de Informática –auditório
Discente: Klissiomara Lopes Dias
Orientador: Paulo Henrique Monteiro Borba
Título: Towards Requirements for Merge Conflict Avoidance Strategies

Banca examinadora:
Vinicius Cardoso Garcia (UFPE/Centro de Informática)
Kiev Santos da Gama (UFPE/Centro de Informática)
Leonardo Gresta Paulino Murta (UFF/Instituto de Computação)
Eduardo Santana de Almeida (UFBA/Departamento de Ciência da Computação)
Rodrigo Bonifacio de Almeida (UnB/Departamento de Ciência da Computação)

Resumo

Conflitos de integração frequentemente ocorrem quando os desenvolvedores mudam os mesmos artefatos de código. Tais conflitos podem ser comuns na prática, e resolvê-los pode ser uma atividade custosa e propensa a erros. Para minimizar esses problemas reduzindo os conflitos de integração, é importante entender melhor como os conflitos de integração são afetados por fatores técnicos e organizacionais. Dessa forma, poderemos derivar um conjunto de fatores que as equipes de desenvolvimento poderão ficar atentas para evitar conflitos. Além de entender melhor fatores associados a conflitos de integração de código, também queremos investigar outras formas de auxiliar desenvolvedores a evitar ou reduzir conflitos. Com esse objetivo, investigamos sete fatores relacionados à modularidade, tamanho e tempo das contribuições dos desenvolvedores. Para isso, reproduzimos e analisamos 73.504 cenários de integração de código em repositórios GitHub de projetos Ruby e Python desenvolvidos usando o framework MVC disponível para essas linguagens (Ruby on Rails and Django, respectivamente). Para avaliar qualitativamente nossos resultados e explorar outras formas de evitar conflitos de integração, realizamos 16 entrevistas exploratórias semiestruturadas com profissionais de 13 empresas, entre elas quatro empresas globais. Primeiro, tentamos aprender sobre contextos onde conflitos de integração são mais críticos, explorando com que frequência os conflitos de integração ocorrem e quais fatores poderiam estar mais relacionados a integrações de código mais complexas. Em seguida, tentamos investigar outros fatores que os profissionais consideram relevantes para causar conflitos de integração, com o objetivo de obter um conjunto mais sólido de fatores que os desenvolvedores precisam prestar atenção para evitar conflitos. Além disso, tentamos entender quais práticas os desenvolvedores mais usam para evitar conflitos. Finalmente, também investigamos como os desenvolvedores poderiam ser assistidos na prevenção de conflitos, explorando a utilidade de uma ferramenta hipotética para alertar o risco de conflito integração de código. Nossos resultados trazem evidências quantitativas de que seis dos sete fatores de modularidade, tamanho e tempo que investigamos estão mais associados a conflitos de integração de código. Observamos que a maioria dos entrevistados percebe uma associação entre a ocorrência de conflitos de integração e cada fator que investigamos no estudo quantitativo. Ao todo, observamos 21 fatores de conflitos de integração (cinco deles já investigamos durante o estudo quantitativo) que são considerados importantes pelos entrevistados e 12 práticas que eles utilizam para evitar conflitos. Além disso, os conflitos de integração são observados com taxas de frequência variadas, dependendo características contextuais de cada projeto, como frequência de integração de código, tamanho da equipe e tamanho da tarefa. Além disso, os entrevistados dizem que a maioria dos conflitos integração é simples para resolver (por exemplo, devido ao pequeno tamanho de mudanças conflitantes); exceções, para mencionar alguns, envolvem conflitos causados por refatorações globais. Outro exemplo mencionado como integração complexa é quando as mudanças estão relacionadas de maneiras não triviais, exigindo a compreensão semântica das mudanças. Além disso, de acordo com alguns entrevistados, conflitos de integração se tornam mais complexos também, dependendo da fase do projeto. Finalmente, a maioria dos entrevistados considera uma ferramenta para alerta do risco de conflito de integração útil para variados propósitos. Por exemplo, para ajudar desenvolvedores menos experientes e facilitar o trabalho do integrador ou DevOps no monitoramento precoce de potenciais problemas de integração do código. Além disso, um dos entrevistados fornece informações sobre contextos de projetos de desenvolvimento onde esse tipo de ferramenta não se aplicaria, por exemplo, em projetos que seguem políticas rigorosas para evitar conflitos. Nossos resultados trazem evidências quantitativas relacionadas a hipóteses e recomendações para a redução de conflitos levantados, mas não empiricamente avaliados por trabalhos anteriores, e também vamos além explorando novas hipóteses relacionadas à modularidade da contribuição e atraso de conclusão. Ao encontrar 16 novos fatores de conflito de integração em relação ao estudo quantitativo realizado e entender como os entrevistados percebem sua importância, derivamos um conjunto de requisitos mais robusto para o desenvolvimento de modelos de previsão de conflitos mais precisos. Tais modelos poderiam então ser usados como base para o gerenciamento de projetos e ferramentas assistivas que poderiam ajudar as equipes a lidar melhor com conflitos de integração. As equipes de desenvolvimento poderiam se beneficiar desses resultados, melhorando as recomendações e diretrizes para evitar conflitos. Também fornecemos ideias sobre a utilidade e características desejáveis para o desenvolvimento de uma ferramenta para alertar o risco de conflito.

2 – Defesa de dissertação

20/02 – às 9h – Centro de Informática- Sala B020
Discente: Carolline Dias Pena
Orientador: Sérgio Castelo Branco Soares
Coorientador: Bruno Falcão de Souza Cartaxo (IFPE)
Título: Convergências e Divergências entre uma Revisão Sistemática da Literatura e uma Revisão Rápida

Banca examinadora:
Andre Luis de Medeiros Santos (UFPE/Centro de Informática)
Breno Bernard Nicolau de França (Unicamp/Departamento de Sistemas de Informação)
Bruno Falcão de Souza Cartaxo (IFPE)

Resumo

Contexto: Problemas relativos à condução de Revisões Sistemáticas da Literatura vêm sendo relatados nos estudos produzidos pela Engenharia de software baseada em evidência. O grande esforço para a realização deste método de pesquisa e o tempo investido são alguns destes. Neste contexto, as Revisões Rápidas são propostas com o objetivo de simplificar as etapas de condução de uma revisão sistemática e produzir evidências em tempo hábil que possam ser aplicadas em problemas práticos. 
Objetivo: Esta pesquisa tem a finalidade de identificar as convergências e divergências entre uma Revisão Sistemática da Literatura e uma Revisão Rápida de mesma temática e fornecer uma apreensão inicial das diferenças metodológicas e entre seus resultados.
Método: Para concretizar este objetivo uma Revisão Sistemática da Literatura com o tema “Colaboração do cliente no desenvolvimento de software” foi realizada com a finalidade de produzir uma comparação quantitativa e qualitativa com a metodologia e os resultados de uma Revisão Rápida com o mesmo tema e produzida anteriormente por outro pesquisador.
Resultados: Durante a condução da revisão sistemática foram analisados 12.613 estudos e 73 foram selecionados e utilizados na elaboração dos resultados reportados através da revisão sistemática. Em seguida, nossa metodologia e nossos resultados foram comparados com a metodologia e os resultados da Revisão Rápida. Foram observadas divergências na metodologia, tais como: número de estudos retornados no processo de busca, tempo de condução, string utilizada no processo de busca e ausência/presença de análise de qualidade. Por outro lado, também foram observadas convergências, tais como uma fonte de busca em comum que retornou grande parte dos estudos selecionados na revisão sistemática e a utilização de análise temática no processo de síntese. Os resultados de cada método também apresentam convergências e divergências, tais como ausência ou presença de temas em comum.
Conclusões: Apesar de divergências serem observadas entre as metodologias e entre os resultados, por meio das convergências concluímos que ambos os métodos possuem valor para identificar evidências que podem ser úteis para a prática profissional. Todavia, elencamos alguns pontos que podem proporcionar uma melhoria na condução de novas revisões rápidas, caso necessitem ser mais abrangentes.

3 – Defesa de dissertação

20/02 – às 10h – Centro de Informática – Sala A014
Discente: Douglas Álisson Marques de Sá Vitório
Orientador: Adriano Lorena Inacio de Oliveira
Coorientador: Ellen Polliana Ramos Souza (UFRPE/Unidade Acadêmica de Serra Talhada)
Título: Avaliando Estratégias de Seleção de Active Learning para Mineração de Opinião com Fluxos Contínuos de Dados

Banca examinadora:
George Darmiton da Cunha Cavalcanti (UFPE/Centro de Informática)
George Gomes Cabral (UFRPE/Departamento de Computação)
Adriano Lorena Inacio de Oliveira (UFPE/Centro de Informática)

Resumo

Mineração de Opinião, também conhecida como Análise de Sentimento, é a área de estudo que analisa os sentimentos e opiniões das pessoas acerca de entidades, como produtos e serviços, expressos de forma não estruturada, como em texto, por exemplo. Entretanto, as abordagens mais comuns de Mineração de Opinião não estão aptas a lidar com as características e os desafios trazidos pelo processamento de fluxos contínuos de dados (data streams); dessa forma, uma alternativa é a utilização de técnicas como a de Active Learning, a qual visa rotular apenas dados selecionados, em vez de rotular todo o conjunto de dados. A abordagem de Active Learning requer a escolha de uma estratégia para selecionar as instâncias mais relevantes para atualização do modelo de aprendizagem; contudo, nenhum estudo realizou uma análise com o objetivo de identificar as melhores estratégias para Mineração de Opinião. Neste estudo, portanto, esta análise é realizada com base em oito estratégias de seleção: seis delas encontradas na literatura e duas propostas pelo autor; e utilizando 20 conjuntos de dados oriundos de quatro corpora com data streams: dois deles construídos especificamente para esta pesquisa e contendo dados do Facebook e do Twitter acerca da Eleição Presidencial no Brasil em 2018. As estratégias foram avaliadas em três cenários diferentes e com três tipos de classificadores. Com base nos resultados, pôde-se perceber que a técnica Entropy é a mais indicada, em termos de acurácia, para o maior número de situações; porém, esta estratégia seleciona um número muito grande de documentos, não sendo recomendada para casos nos quais não há a possibilidade de rotular muitos dados.

Data da última modificação: 18/02/2020, 14:10