Automated code smell detection with large language models
Carregando...
Data
Autor(es)
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
Primeiro orientador
Membros da banca
João Eduardo Montandon de Araújo Filho
Juliana Alves Pereira
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
Departamento
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
