Automated code smell detection with large language models
| dc.creator | Saymon da Silva Souza | |
| dc.date.accessioned | 2026-04-14T20:38:50Z | |
| dc.date.issued | 2025-11-03 | |
| dc.description.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. | |
| dc.identifier.uri | https://hdl.handle.net/1843/2459 | |
| dc.language | eng | |
| dc.publisher | Universidade Federal de Minas Gerais | |
| dc.rights | Acesso aberto | |
| dc.rights | Acesso aberto | |
| dc.rights.uri | http://creativecommons.org/publicdomain/zero/1.0/ | |
| dc.subject | Computação – Teses | |
| dc.subject | Engenharia de Software – Teses | |
| dc.subject | Detecção de anomalias (Computação) – Teses | |
| dc.subject | Revisão sistemática – Teses | |
| dc.subject | Pesquisa Quantitativa – Teses | |
| dc.subject.other | Code smells | |
| dc.subject.other | Large language models | |
| dc.subject.other | Systematic literature review | |
| dc.subject.other | Empirical study | |
| dc.subject.other | Quantitative comparative study | |
| dc.title | Automated code smell detection with large language models | |
| dc.title.alternative | Detecção automatizada de problemas de código com grandes modelos de linguagem | |
| dc.type | Dissertação de mestrado | |
| local.contributor.advisor1 | Eduardo Magno Lages Figueiredo | |
| local.contributor.advisor1Lattes | http://lattes.cnpq.br/1265706528850746 | |
| local.contributor.referee1 | João Eduardo Montandon de Araújo Filho | |
| local.contributor.referee1 | Juliana Alves Pereira | |
| local.creator.Lattes | 0 | |
| local.identifier.orcid | https://orcid.org/0009-0000-9970-0215 | |
| local.publisher.country | Brasil | |
| local.publisher.department | ICX - DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO | |
| local.publisher.initials | UFMG | |
| local.publisher.program | Programa de Pós-Graduação em Ciência da Computação | |
| local.subject.cnpq | CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE |