Banca de DEFESA: LUANA ALMEIDA MARTINS

Uma banca de DEFESA de DOUTORADO foi cadastrada pelo programa.
DISCENTE : LUANA ALMEIDA MARTINS
DATA : 26/03/2024
HORA: 09:00
LOCAL: Conferência Web - RNP
TÍTULO:

Smart Prediction for Test Smell Refactorings


PALAVRAS-CHAVES:

Refatoração de teste. Test smells. Aprendizado de máquina.


PÁGINAS: 182
RESUMO:

Os test smells são considerados más práticas durante o desenvolvimento do código de teste. Sua presença pode reduzir a qualidade do código de teste, prejudicando as atividades de teste e manutenção de software. A refatoração de software é uma prática fundamental para lidar com smells e melhorar a qualidade do software sem alterar seu comportamento. No entanto, as ferramentas de refatoração existentes visam o código de produção, com características muito diferentes do código de teste. Apesar do esforço da comunidade em investigar sobre refatorações de test smells, pouco se sabe se as refatorações atuais melhoram a qualidade do código de teste. Nesta proposta de tese, é apresentada uma abordagem baseada em aprendizado de máquina que pode ajudar os desenvolvedores a decidir quando e como refatorar os test smells. O primeiro objetivo é minerar as refatorações realizadas por desenvolvedores a fim de derivar um catálogo de refatorações de teste e seu impacto no código de teste. Como resultados, pôde-se perceber que os desenvolvedores têm preferência por recursos específicos dos frameworks de teste, o que pode levar a test smells como o Inappropriate Assertion e o Exception Handling. Enquanto as refatorações propostas na literatura alinhadas com a evolução dos frameworks de teste auxiliam na refatoração de test smells, o Inappropriate Assertion permanece inexplorado na literatura. O segundo objetivo é entender se os códigos de teste com baixa qualidade são alvos de refatoração pelos desenvolvedores e os efeitos das refatorações para a melhoria da qualidade. Como resultados, pôde-se observar que códigos de teste com baixa qualidade, em especial, em termos de métricas estruturais, possuem mais possibilidade de sofrer refatorações. Além disso, as refactorações comuns entre código de teste e produção ajudam a melhorar a qualidade do código de teste em relação a coesão, tamanho e complexidade, enquanto que, refatorações específicas de teste ajudam na melhoria da qualidade em relação a resolução de test smells. O terceiro objetivo é aprender com quando e como os desenvolvedores realizam refatorações teste com o potencial de corrigir os test smells. Os resultados indicam que a acurácia dos modelos, utilizando o algoritmo Support Vector Machines, varia entre 30% e 100% em diferentes projetos para a detecção de quando o desenvolvedor realizaria alguma refatoração no código. Porém, acurácia diminui para a detecção de refatorações específicas, devido a quantidade de refatorações encontradas nos projetos analisados. De modo geral, esta pesquisa mostra a viabilidade do uso de métricas e test smells para a detecção de refatorações de teste, evidenciando ainda a necessidade de melhorias por meio da análise de dados sintéticos e do contexto de desenvolvimento dos projetos. A abordagem proposta representa um passo promissor para apoiar a detecção e refatoração de test smells alinhadas às práticas de desenvolvimento atualmente adotadas pelos desenvolvedores.


MEMBROS DA BANCA:
Presidente - 4769482 - IVAN DO CARMO MACHADO
Interno - 1674550 - MANOEL GOMES DE MENDONCA NETO
Externo à Instituição - EDUARDO MAGNO LAGES FIGUEIREDO - UFMG
Externo à Instituição - ROHIT GHEYI - UFCG
Externa à Instituição - SILVIA REGINA VERGÍLIO
Notícia cadastrada em: 03/05/2024 21:28
SIGAA | STI/SUPAC - - | Copyright © 2006-2024 - UFBA