@MASTERSTHESIS{ 2025:785605351, title = {Avaliação empírica da eficácia de Modelos de Linguagem Grande (LLMs) na refatoração de Projetos Python}, year = {2025}, url = "http://tede2.uefs.br:8080/handle/tede/1969", abstract = "A refatoração de código é uma prática essencial para garantir a qualidade e a evolução contínua dos sistemas de software, especialmente em linguagens como Python, que exigem alta manutenibilidade. Embora ferramentas de análise estática, como o SonarQube, ofereçam suporte na identificação de problemas, o processo de refatoração ainda apresenta desafios, como a preservação da funcionalidade e a melhoria da legibilidade do código. Nesse cenário, os Modelos de Linguagem de Grande Escala (LLMs), como o GPT-4, DeepSeek e Claude AI, surgem como ferramentas promissoras por combinarem análise contextual avançada com geração automatizada de código. Este estudo tem como objetivo avaliar a eficácia de LLMs na refatoração de código Python, com foco na correção de problemas de manutenibilidade, identificação de limitações e proposição de melhorias. Para isso, conduzimos um estudo empírico com quatro modelos amplamente utilizados: Copilot Chat 4o, LLaMA 3.3 70B Instruct, DeepSeek V3 e Gemine 2.5 Pro. Além disso, este estudo também investiga se esses modelos apresentam melhor desempenho quando utilizados com técnicas de prompting mais refinadas, como o few-shot por exemplo. Para isso, cada LLM foi submetido a dois estilos distintos de prompting: zero-shot e few-shot, permitindo uma análise comparativa do impacto dessas abordagens na qualidade das refatorações geradas. Avaliamos 150 métodos com problemas de manutenibilidade por LLM e por técnica de prompt, e os resultados indicam que, embora os modelos tenham alcançado taxas consideráveis de eficácia no cenário few-shot, Gemini (64,67%), DeepSeek (64,00%), Copilot (63,33%) e LLaMA 3.3 70B (55,33%), todos enfrentaram limitações importantes. Entre os principais desafios observados estão: a introdução de novos problemas de manutenibilidade, erros de execução, falhas em testes automatizados e, em alguns casos, a não correção do problema original identificado. Além disso, conduzimos uma avaliação com participantes humanos para analisar a legibilidade do código refatorado pelos modelos. Os resultados indicam que 81,25% das soluções foram percebidas como melhorias, especialmente em aspectos estruturais. No entanto, também foram observados casos em que a legibilidade foi prejudicada, seja pela introdução de complexidade desnecessária ou pela falta de padronização no estilo do código. Esses achados reforçam a necessidade de cautela ao adotar automaticamente as sugestões geradas por LLMs, além de destacar a importância da validação por desenvolvedores na revisão final do código. Este trabalho contribui com uma análise comparativa das capacidades dos LLMs, apontando suas limitações e propondo metodologias práticas para a integração de IA no processo de refatoração de código. Os resultados deste estudo buscam contribuir para abrir caminho para novas pesquisas, principalmente no desenvolvimento de técnicas de prompting mais eficientes e na avaliação de modelos que ainda estão por vir. Esperamos que essas contribuições ajudem desenvolvedores e pesquisadores a encontrar soluções mais práticas, confiáveis e duradouras para melhorar a manutenibilidade do software no dia a dia.", publisher = {Universidade Estadual de Feira de Santana}, scholl = {Programa de Pós-Graduação em Ciência da Computação}, note = {DEPARTAMENTO DE CIÊNCIAS EXATAS} }