Pós-Graduação em Ciência da Computação – UFPE
Defesa de Dissertação de Mestrado Nº 2.114
Aluno: Lidia Perside Gomes Nascimento
Orientador: Prof. Ricardo Bastos Cavalcante Prudêncio
Título: Aprendizagem de Máquina na Engenharia de Software: Uma Abordagem
Técnica para Análise de Defeitos Escapados
Data: 03/10/2023
Hora/Local: 14h – Virtual – Interessados em assistir entrar em contato com a aluna
Banca Examinadora:
Prof. Alexandre Cabral Mota (UFPE / Centro de Informática)
Profa. Regina Rosa Parente (IFMA / Campus Bacabal)
Prof. Ricardo Bastos Cavalcante Prudêncio (UFPE / Centro de Informática)
RESUMO:
A realização do Testes de Software (TS) é de extrema importância no que diz
respeito a garantir a qualidade adequada de um software que esteja em
desenvolvimento. Esse processo, quando bem realizado, tem uma série de
vantagens como uma boa reputação da empresa de software por parte dos
usuários finais e a economia de custos com reparos em defeitos. Quando um
defeito é encontrado, normalmente é aberto um relatório de falhas que
poderá levar a uma correção no software por parte de desenvolvedores.
Nessa dissertação, relatórios de falhas recebem a nomenclatura de Change
Requests (CRs), contendo informações que descrevem o problema encontrado no
software desde a abertura da CR até a solução da mesma. Grandes empresas,
de maneira geral, costumam ter um grande número de CRs abertas semanalmente
e que devem passar pela equipe de testes e/ou desenvolvimento para que
possam ser inspecionadas e corrigidas de maneira adequada. Este trabalho
tem como foco a utilização de técnicas de Aprendizado de Máquina (AM) para
automatizar uma tarefa relevante da triagem de CRs, o processo de Escaped
Defect Analysis (EDA), no contexto de uma aplicação real da indústria.
Nessa aplicação, Defeitos Escapados (DE) são bugs ou problemas que deveriam
ter sido detectados por uma equipe de teste específica, mas que, por alguma
razão, foram acidentalmente encontradas por uma outra equipe. A ocorrência
das DEs é considerada arriscada, tendo em vista que costumam estar
relacionadas a falhas nas atividades de testes. O EDA geralmente é
realizado de forma manual pela equipe de engenheiros de software, que
precisam ler todo o conteúdo textual contido em cada CR para identificar se
é um DE ou não, o que passa a ser desafiador e demorado. Na solução aqui
abordada, o conteúdo de cada CR é pré-processada por operações textuais e
são representadas em forma de atributos para que um classificador de AM
venha a retornar a probabilidade dos rótulos de EDA. Os experimentos
realizados nesta pesquisa contou com um conjunto de dados de 3767 CRs, que
foram fornecidos pela empresa parceira (Motorola Mobility Comércio de
Produtos Eletrônicos Ltda). Diferentes tipos de algoritmos de AM foram
aplicados para a contrução de classificadores, onde alto valores de AUC
puderam ser alcançados (costumeiramente maiores que 0,8), nos experimentos
realizados com validação cruzada. Além disso, os experimentos indicam um
bom compromisso entre o número de EDs corretamente identificados e o número
de CRs que devem ser inspecionados na EDA.
Palavras-chave: Análise de Defeitos Escapados, Change Request, Aprendizado
de Máquina
Comentários desativados