Uma abordagem para detectar relatórios de defeitos duplicados baseada em aprendizagem profunda
Ano de defesa: | 2020 |
---|---|
Autor(a) principal: | |
Outros Autores: | , |
Orientador(a): | |
Banca de defesa: | |
Tipo de documento: | Dissertação |
Tipo de acesso: | Acesso aberto |
Idioma: | por |
Instituição de defesa: |
Universidade Federal do Amazonas
Instituto de Computação Brasil UFAM Programa de Pós-graduação em Informática |
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: | |
Link de acesso: | https://tede.ufam.edu.br/handle/tede/7946 |
Resumo: | Em ambientes de desenvolvimento de software em larga escala, os relatórios de defeitos são mantidos por meio de sistemas de rastreamento de problemas e analisados por especialistas de domínio. Nesses sistemas, os usuários podem criar relatórios de defeitos de maneira despadronizada, ou seja, cada usuário pode relatar um problema específico com um conjunto exclusivo de palavras. Portanto, relatórios diferentes podem descrever o mesmo problema, gerando duplicação. Para evitar tarefas redundantes para a equipe de desenvolvimento, um especialista precisa examinar todos os novos relatórios enquanto rotula possíveis duplicatas. No entanto, essa abordagem não é trivial, nem escalável e impacta diretamente o tempo de correção dos defeitos. Esforços recentes para detectar relatórios de defeitos duplicados tendem a se concentrar em abordagens que utilizam redes neurais profundas que consideram as informações híbridas dos relatórios como recursos textuais e categóricos. Entretanto, essas abordagens ignoram que um único relatório pode ter várias duplicatas identificadas anteriormente e, portanto, várias descrições textuais, títulos e informações categóricas. Neste trabalho, propusemos o SiameseQAT, um método para detecção de relatórios de defeitos duplicados que considera não apenas informações sobre relatórios individuais, mas também informações coletivas de grupos de defeitos. O SiameseQAT combina aprendizado contextual e semântico com recursos textuais e categóricos, além de recursos baseados em extração de tópicos, utilizando a Quintet Loss uma nova função de perda introduzida por este trabalho, que considera o centroide de grupos duplicados e suas informações contextuais. Validamos nossa abordagem nos repositórios de software de código aberto Eclipse, Netbeans e Open Office, que incluem mais de 500 mil relatórios de defeitos. Avaliamos a recuperação e a classificação de duplicatas, relatando uma média de Recall@25 de 71% para recuperação e 99% de AUROC para tarefas de classificação, resultados superiores aos apresentados por trabalhos relacionados. |