Candidato: Diego Cavalcanti Título do trabalho: Estudo do Uso de Vocabulários para Analisar o Impacto de Relatórios de Defeitos a Código-fonte Orientador(es): Dalton Serey Jorge C. A. de Figueiredo Data: 26 de novembro de 2012 Horário: 10h Local: Auditório do SPLab Banca examinadora: Christina von Flach (UFBA), Tiago Massoni (UFCG). Resumo: Localizar e corrigir defeitos cadastrados em repositórios são tarefas comuns no processo de manutenção de software. Entretanto, a atividade de localizar entidades de código que são possivelmente defeituosas e que necessitam ser modificadas para a correção de um defeito, não é trivial. Geralmente, desenvolvedores realizam esta tarefa por meio de um processo manual de leitura e inspeção do código e do relatório reportado. De fato, é necessário que os desenvolvedores tenham um bom conhecimento da arquitetura e do design do softaware a fim de realizarem tal tarefa. Entretanto, este conhecimento fica espalhado por entre os desenvolvedores e é demorado até ser adquirido por novatos. Assim, é necessário o desen- volvimento de técnicas que auxiliem nesta tarefa independente da escolha do desenvolvedor que irá executá-la. Neste trabalho, apresentamos resultados de um estudo empírico no qual avaliamos se a análise automática de vocabulários de relatórios de defeitos e de software pode ser útil na tarefa de localizar defeitos no código. Realizamos uma avaliação com oito projetos maduros de código-aberto, desenvolvidos em Java, que utilizam Bugzilla e JIRA como seus sistemas de rastreamento de defeitos. Em nosso estudo, utilizamos técnicas de Recuperação da Informação para avaliar a similaridade dos vocabulários de relatórios de de- feitos e entidades do código. Para cada relatório analisado, criamos um ranking de classes ordenadas de acordo com a similaridade obtida. Nossos resultados indicam que a análise de ambos os vocabulários é, de fato, uma fonte valiosa de informação, que pode ser utili- zada para agilizar a tarefa de localização de defeitos. Para todos os sistemas estudados, ao considerarmos apenas análise de vocabulário, vimos que, mesmo com um ranking contendo apenas 25% das classes do projeto, foi possível obter taxas de acerto em torno de 90%. Por- tanto, podemos concluir que, mesmo que não possamos utilizar vocabulários de software e de relatórios de defeitos como única fonte de informação, eles certamente podem melhorar os resultados obtidos, ao serem combinados com outras técnicas complementares. |