Use este identificador para citar ou linkar para este item: http://repositorio.utfpr.edu.br/jspui/handle/1/40779
Título: Refatoração de código: comparação entre abordagens manuais e inteligência artificial generativa
Título(s) alternativo(s): Code refactoring: comparison between manual approaches and generative artificial intelligence
Autor(es): Lima, Mariana Regina Cabrinha de
Orientador(es): Matos, Simone Nasser
Palavras-chave: Software - Refatoração
Software - Confiabilidade
Inteligência artificial
Software refactoring
Computer software - Reliability
Artificial intelligence
Data do documento: 5-Mai-2026
Editor: Universidade Tecnológica Federal do Paraná
Câmpus: Ponta Grossa
Citação: LIMA, Mariana Regina Cabrinha de. Refatoração de código: comparação entre abordagens manuais e inteligência artificial generativa. 2026. Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) - Universidade Tecnológica Federal do Paraná, Ponta Grossa, 2026.
Resumo: A refatoração de código é uma prática essencial na Engenharia de Software, voltada à melhoria da estrutura interna do código sem alterar seu comportamento externo, contribuindo para a qualidade, a manutenibilidade e a evolução dos sistemas ao longo do tempo. Com o avanço das ferramentas de Inteligência Artificial Generativa, surge a possibilidade de automatizar esse processo, levantando questões sobre a eficácia e as limitações dessas abordagens em comparação à intervenção humana. Este trabalho apresenta uma comparação entre a refatoração de código realizada manualmente e com o auxílio das ferramentas GitHub Copilot e Amazon Q Developer, tendo como objetos de estudo três jogos educacionais desenvolvidos no âmbito do Projeto de Desenvolvimento de Software Educacional da Universidade Tecnológica Federal do Paraná (UTFPR). A refatoração manual foi conduzida com base em técnicas clássicas descritas por Fowler, enquanto a refatoração automatizada utilizou um prompt padronizado aplicado às mesmas ferramentas. A avaliação dos resultados foi realizada por meio de métricas de qualidade obtidas com o SonarQube, contemplando atributos relacionados à manutenibilidade, compreensibilidade, reusabilidade e complexidade estrutural. Os resultados indicam que as ferramentas de IA Generativa foram capazes de promover melhorias relevantes em diferentes métricas de qualidade, embora tenham apresentado limitações relacionadas à preservação de contexto, geração de erros de compilação e introdução de alterações que extrapolam o escopo tradicional da refatoração. Observou-se ainda que cada ferramenta apresentou melhor desempenho em atributos específicos, enquanto a abordagem manual demonstrou maior controle sobre as decisões arquiteturais e aplicação direcionada das técnicas de refatoração. Os resultados contribuem para a compreensão do potencial e das limitações da IA Generativa como apoio à manutenção e evolução de software.
Abstract: Code refactoring is an essential practice in Software Engineering, aimed at improving the internal structure of code without altering its external behavior, thereby contributing to the quality, maintainability, and long-term evolution of software systems. With the advancement of Generative Artificial Intelligence tools, the possibility of automating this process has emerged, raising questions about the effectiveness and limitations of such approaches in comparison to human intervention. This paper presents a comparison between manual code refactoring and refactoring assisted by GitHub Copilot and Amazon Q Developer, using three educational games developed within the Educational Software Development Project at the Federal University of Technology – Paraná (UTFPR) as case studies. Manual refactoring was conducted based on classical techniques described by Fowler, while automated refactoring was performed using a standardized prompt applied to both tools. The results were evaluated through software quality metrics obtained using SonarQube, considering attributes related to maintainability, comprehensibility, reusability, and structural complexity. The findings indicate that Generative AI tools were capable of achieving significant improvements in several quality metrics. However, they also exhibited limitations related to context preservation, generation of compilation errors, and the introduction of modifications that extend beyond the traditional scope of refactoring. Furthermore, each tool demonstrated superior performance in specific quality attributes, whereas the manual approach provided greater control over architectural decisions and the targeted application of refactoring techniques. The results contribute to a better understanding of the potential and limitations of Generative Artificial Intelligence as a support mechanism for software maintenance and evolution.
URI: http://repositorio.utfpr.edu.br/jspui/handle/1/40779
Aparece nas coleções:PG - Ciência da Computação

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
refatoracaocodigocomparacao.pdf659,17 kBAdobe PDFThumbnail
Visualizar/Abrir


Este item está licenciada sob uma Licença Creative Commons Creative Commons