Use este identificador para citar ou linkar para este item:
https://repository.ufrpe.br/handle/123456789/5764
Título: | Geração automática de sistemas backend com o suporte de IA generativa seguindo a arquitetura limpa |
Autor: | Costa, Henrique Sabino da |
Endereco Lattes do autor: | http://lattes.cnpq.br/5381537544189009 |
Orientador: | Burégio, Vanilson André de Arruda |
Endereco Lattes do orientador : | http://lattes.cnpq.br/3518416272921878 |
Palavras-chave: | Arquitetura de software;Desenvolvimento ágil de software;Inteligência artificial;Geradores de código |
Data do documento: | 6-Mar-2024 |
Citação: | COSTA, Henrique Sabino da. Geração automática de sistemas backend com o suporte de IA generativa seguindo a arquitetura limpa. 2024. 67 f. Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) – Departamento de Computação, Universidade Federal Rural de Pernambuco, Recife, 2024. |
Abstract: | In this work, we investigated the potential contribution of automatic code synthesis technologies, particularly OpenAI’s GPT-4, to the maintenance and adherence to best practices in software architecture in startups. Given the characteristic of these companies to operate in environments of rapid change and innovation, but with limited resources, practices such as unit testing and documentation are often neglected. Conversely, we emphasize the importance of such practices for their contribution to the maintainability and scalability of applications. As a means to reconcile the fast pace of development with the need for good practices, we proposed the use of generative language models (GLM), specifically GPT-4, for code generation following the principles of clean architecture, a set of concepts defined by Robert C. Martin for developing scalable and maintainable projects. The methodological approach was a combination of qualitative and quantitative analysis, focused on the exploration and adaptation of prompts for code generation and the development of practical exemplifications in various programming languages. Notably, three projects in C#, JavaScript, and Python were produced, which were evaluated according to metrics of abstraction, instability, and adherence to the Main Sequence - key concepts in maintaining clean architecture. The results indicated that, despite the potential of the proposed technology to accelerate development and promote adherence to good practices through automation, there are significant gaps in GPT-4 ability to generate code fully aligned with clean architecture and executable without manual intervention. Problems related to inconsistency in the project structure and the integrity of the generated code were observed, suggesting that, while the tool offers a promising foundation for enhancing efficiency in less complex projects, its applicability in complex and diverse contexts still presents challenges. Therefore, it is concluded that the use of GLMs like GPT-4 in the automatic generation of code represents a valuable auxiliary tool for startups in software development. However, the need for manual adjustments in the code and the assurance of full adherence to recommended software architecture practices reinforce the idea that such technologies should be seen as complementary to human work and not as complete substitutes. For future work, it is recommended to deepen the investigation of GLMs specialized in code generation and to expand the experiments to encompass a wider range of programming languages and frameworks, aiming to maximize the applicability and effectiveness of this innovative approach. |
Resumo: | Neste trabalho, investigou-se a potencial contribuição das tecnologias de Síntese Automática de Código, particularmente o GPT-4 da OpenAI, para a manutenção e aderência às boas práticas de arquitetura de software em startups. Dada a característica dessas empresas de operarem em ambientes de rápida mudança e inovação, mas com recursos limitados, práticas como testes unitários e documentação muitas vezes são negligenciadas. Contrariamente, enfatizamos a importância de tais práticas pela sua contribuição à manutenibilidade e escalabilidade das aplicações. Como meio de conciliar o ritmo acelerado de desenvolvimento com a necessidade de boas práticas, propusemos o uso de modelos de linguagem generativos (MLG), especificamente o GPT-4, para a geração de código seguindo os princípios da arquitetura limpa, um conjunto de conceitos definidos por Robert C. Martin para o desenvolvimento de projetos escaláveis e de boa manutenibilidade. A abordagem metodológica foi uma combinação de análise qualitativa e quantitativa, focada na exploração e adaptação de prompts para a geração de código e no desenvolvimento de exemplificações práticas em diversas linguagens de programação. Destaca-se a produção de três projetos em C#, JavaScript e Python, os quais foram avaliados segundo métricas de abstração, instabilidade, e aderência à Sequência Principal - conceitos chave na manutenção de uma arquitetura limpa. Os resultados indicaram que, apesar do potencial da tecnologia proposta para acelerar o desenvolvimento e promover a aderência às boas práticas através da automação, existem lacunas significativas na capacidade do GPT-4 de gerar código totalmente alinhado à arquitetura limpa e executável sem intervenção manual. Problemas relacionados à inconsistência na estrutura do projeto e na integridade do código gerado foram observados, sugerindo que, enquanto a ferramenta oferece uma base promissora para a potencialização da eficiência em projetos de menor complexidade, sua aplicabilidade em contextos complexos e diversificados ainda apresenta desafios. Portanto, conclui-se que o emprego de MLGs como o GPT-4, na geração automática de código representam uma ferramenta auxiliar valiosa para startups no desenvolvimento de software. No entanto, a necessidade de ajustes manuais no código e a garantia de aderência completa às práticas recomendadas de arquitetura de software reforçam a ideia de que tais tecnologias devem ser vistas como complementares ao trabalho humano e não como substitutas completas. Para futuros trabalhos, recomenda-se o aprofundamento na investigação de MLGs especializados em geração de código e a expansão dos experimentos para abarcar uma gama maior de linguagens de programação e frameworks, visando maximizar a aplicabilidade e eficácia dessa abordagem inovadora. |
URI: | https://repository.ufrpe.br/handle/123456789/5764 |
Aparece nas coleções: | TCC - Bacharelado em Ciência da Computação (Sede) |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
tcc_henriquesabinodacosta.pdf | 2,96 MB | Adobe PDF | Visualizar/Abrir |
Este item está licenciada sob uma Licença Creative Commons