Trabalho de Conclusão
Título:COMBINAÇÃO ENTRE TÉCNICAS DE INTELIGÊNCIA ARTIFICIAL E REFATORAÇÕES BASEADAS EM DESIGN PATTERNS E SEUS IMPACTOS NA QUALIDADE DO CÓDIGO
Aluno:DIEGO LUÍS LAZZARETTI
Semestre:2024/01
Situação:TC II
Áreas de interesse:Não informado
Orientador:Gabriel da Silva Simões
Avaliadores:Juliano Varella de Carvalho, Ricardo Ferreira de Oliveira
Documentos:Anteprojeto (liberado apenas para a banca), Texto final TC1 (liberado apenas para a banca), Texto final TC2 (liberado apenas para a banca)
Palavras-chave:Design patterns; Refatoração; Inteligência artificial; Métricas de código; Qualidade de código
Resumo:

Neste projeto, investigou-se como a integração de design patterns, refatoração de código e inteligência artificial pode melhorar a qualidade do software. Foi realizado um estudo comparativo entre as refatorações manuais e aquelas assistidas por modelos de IA avançados, incluindo GPT-3.5, GPT-4, Gemini e Mistral. Este estudo centrou-se em avaliar a eficácia desses modelos na otimização de aspectos como clareza, modularidade e manutenibilidade do código utilizando avaliações práticas do impacto das refatorações na qualidade do código. Para isso, foi desenvolvida uma plataforma em Python que automatiza o processo de refatoração, enviando requisições para diferentes modelos de IA e armazenando os resultados. Os resultados indicaram que os modelos de IA não apenas aprimoram a legibilidade e a estrutura do código mediante renomeações significativas e implementações de padrões de design, mas também enriquecem o código com documentações detalhadas, facilitando a manutenção e expansão futuras. Modelos como GPT-4 e Gemini se destacaram na melhoria da clareza do código, introduzindo comentários detalhados e renomeações que facilitam a compreensão e manutenção por humanos. Em termos de modularidade, o Gemini-Pro mostrou-se eficaz ao implementar padrões de design avançados que promovem a separação de funções e a reutilização do código. A pesquisa também revelou a importância de instruções detalhadas e a presença de títulos claros nas tarefas de refatoração para maximizar a eficácia da refatoração por IA. Foi observado que a qualidade das instruções influencia diretamente a qualidade das refatorações geradas pelos modelos, destacando a necessidade de fornecer diretrizes claras e específicas para obter melhores resultados. Além disso, a variabilidade no desempenho e no tempo de resposta dos modelos indicou que a escolha do modelo de IA pode depender do equilíbrio entre eficiência e detalhamento requerido pelo projeto. Este estudo apresenta contribuições para o conhecimento em engenharia de software ao demonstrar como a refatoração de código assistida por IA pode ser empregada de maneira eficaz para atender às exigências de desenvolvimento de software modernas. A integração de IA na engenharia de software permite a realização de refatorações mais rápidas, precisas e inteligentes, alinhadas com as boas práticas e padrões de qualidade, promovendo códigos mais limpos, funcionais, adaptáveis e manuteníveis. Os resultados deste trabalho sugerem que a IA pode revolucionar a maneira como o código é desenvolvido e mantido, oferecendo uma nova abordagem para a melhoria contínua da qualidade do software.

Link biblioteca:Não informado