Automated code smell detection with large language models

Carregando...
Imagem de Miniatura

Título da Revista

ISSN da Revista

Título de Volume

Editor

Universidade Federal de Minas Gerais

Descrição

Tipo

Dissertação de mestrado

Título alternativo

Detecção automatizada de problemas de código com grandes modelos de linguagem

Membros da banca

João Eduardo Montandon de Araújo Filho
Juliana Alves Pereira

Resumo

Abstract

Contexto: Anomalias de código são indicadores de más práticas de projeto ou implementação que podem reduzir a qualidade e a manutenibilidade de sistemas de software. As ferramentas automatizadas de detecção existentes, como analisadores estáticos e modelos de aprendizado de máquina, utilizam métricas fixas e cobrem apenas um conjunto limitado de smells. Avanços recentes em Grandes Modelos de Linguagem (GMLs) abrem novas oportunidades para aprimorar a detecção de anomalias de código, mas seu papel ainda permanece pouco explorado. Objetivo: Esta dissertação investiga de que forma os GMLs podem contribuir para a detecção automatizada de anomalias de código. O trabalho tem como objetivo consolidar o conhecimento acerca das estratégias de detecção já existentes, além de criar um conjunto de dados que integre GMLs e ferramentas de análise estática. A partir dessa integração, realiza-se uma avaliação empírica para comparar a eficácia e o linhamento dos GMLs em relação às ferramentas de análise estática e ao julgamento humano. Metodologia: Conduzimos três estudos complementares. Primeiro, realizamos uma Revisão Sistemática da Literatura (RSL) sobre estratégias de detecção automatizada de anomalias de código para JavaScript, identificando suas características e evolução. Em seguida, estendemos um conjunto de dados existente de sistemas Java com nove anomalias de código, incorporando saídas de quatro GMLs. A partir disso, construímos um conjunto-verdade automatizado por meio de votação majoritária. Por fim, realizamos uma avaliação empírica comparando GMLs, ferramentas de análise estática e julgamento humano, utilizando métricas de concordância (Kappa) e de eficácia (precisão, cobertura e F1-score). Resultados: Nossa RSL revelou que a maioria das estratégias dedetecção em JavaScript se baseia em linters e foca em smells estruturais simples, enquanto smells mais complexos permanecem pouco explorados. Os resultados da avaliação empírica indicam que as ferramentas estáticas geralmente alcançam maior precisão, enquanto os GMLs obtêm maior cobertura. Os GMLs apresentaram bom desempenho emsmells mais simples, como Long Method e Large Class, mas tanto as ferramentas quantoos GMLs tiveram dificuldades em detectar em smells mais complexos, como Feature Envy e Shotgun Surgery. Os GMLs complementam as ferramentas de análise, mas ainda não são soluções confiáveis de forma independente.

Assunto

Computação – Teses, Engenharia de Software – Teses, Detecção de anomalias (Computação) – Teses, Revisão sistemática – Teses, Pesquisa Quantitativa – Teses

Palavras-chave

Code smells, Large language models, Systematic literature review, Empirical study, Quantitative comparative study

Citação

Endereço externo

Avaliação

Revisão

Suplementado Por

Referenciado Por

Licença Creative Commons

Exceto quando indicado de outra forma, a licença deste item é descrita como Acesso aberto