Use este identificador para citar ou linkar para este item:
http://repositorio.ufc.br/handle/riufc/85764| Tipo: | TCC |
| Título: | Detecção automatizada de code smells em Python utilizando LLMs multiagentes |
| Autor(es): | Chaves, Luís Estevam Rosa |
| Orientador: | Bezerra, Carla Ilane Moreira |
| Palavras-chave em português: | code smells;sistema multiagente;engenharia de prompts;qualidade de código |
| CNPq: | CNPQ: CIÊNCIAS EXATAS E DA TERRA |
| Data do documento: | 2026 |
| Citação: | CHAVES, Luís Estevam Rosa. Detecção automatizada de code smells em Python utilizando LLMs multiagentes. 2026. 99 f. Trabalho de Conclusão de Curso (Graduação em Engenharia de Software) - Campus de Quixadá, Universidade Federal do Ceará, Quixadá, 2026. |
| Resumo: | A detecção de code smells é uma atividade essencial para garantir a qualidade e a manutenibilidade de sistemas de software. Ferramentas tradicionais de análise estática, embora amplamente utilizadas, apresentam limitações como alta taxa de falsos positivos e incapacidade de considerar o contexto específico do projeto. Este trabalho investiga a aplicação de sistemas multiagentes baseados em Grandes Modelos de Linguagem (LLMs) para detecção automatizada de code smells de implementação em projetos Python. A proposta utiliza uma arquitetura com um agente Supervisor coordenando onze agentes especializados, cada um dedicado à detecção de um tipo específico de code smell: Long Method, Complex Method, Complex Conditional, Long Parameter List, Long Statement, Long Identifier, Magic Number, Empty Catch Block, Missing Default, Long Lambda Function e Long Message Chain. Foram avaliados três modelos de linguagem (Claude Sonnet 4.5, GPT-4o-mini e DeepSeek V3.2) e comparados dois tipos de prompts: elaborados e simples. Os experimentos foram conduzidos em um conjunto de 20 arquivos Python totalizando 8.463 linhas de código, validados contra um padrão de referência com 411 instâncias de smells. Os resultados demonstram que o sistema alcançou F1-Score entre 61,62% e 65,12%, com o GPT-4o-mini apresentando o melhor equilíbrio entre qualidade e custo. A análise revelou que prompts elaborados proporcionam ganho de 4,33 pontos percentuais no F1-Score, embora a diferença não seja estatisticamente significativa. Como contribuição adicional, foi desenvolvida uma extensão para Visual Studio Code que integra a detecção de smells ao fluxo de trabalho do desenvolvedor. |
| Abstract: | Code smell detection is an essential activity for ensuring software quality and maintainability. Traditional static analysis tools, although widely used, have limitations such as high false positive rates and inability to consider project-specific context. This work investigates the application of multi-agent systems based on Large Language Models (LLMs) for automated detection of implementation code smells in Python projects. The proposed system uses an architecture with a Supervisor agent coordinating eleven specialized agents, each dedicated to detecting a specific type of smell: Long Method, ComplexMethod, ComplexConditional, LongParameter List, Long Statement, Long Identifier, Magic Number, Empty Catch Block, Missing Default, Long Lambda Function, and Long Message Chain. Three language models were evaluated (Claude Sonnet 4.5, GPT-4o-mini, and DeepSeek V3.2) and two types of prompts were compared: elaborate and simple. Experiments were conducted on a dataset of 20 Python files totaling 8,463 lines of code, validated against a reference standard with 411 smell instances. Results demonstrate that the system achieved F1-Score between 61.62% and 65.12%, with GPT-4o-mini presenting the best balance between quality and cost. The analysis revealed that elaborate prompts provide a 4.33 percentage point gain in F1-Score, although the difference is not statistically significant. As an additional contribution, a Visual Studio Code extension was developed that integrates smell detection into the developer workflow. |
| URI: | http://repositorio.ufc.br/handle/riufc/85764 |
| Currículo Lattes do Orientador: | http://lattes.cnpq.br/4277471687235814 |
| Tipo de Acesso: | Acesso Aberto |
| Aparece nas coleções: | ENGENHARIA DE SOFTWARE - QUIXADÁ - TCC |
Arquivos associados a este item:
| Arquivo | Descrição | Tamanho | Formato | |
|---|---|---|---|---|
| 2026_tcc_lerchaves.pdf | 1,79 MB | Adobe PDF | Visualizar/Abrir |
Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.