Estudo de caso: uso do ChatGPT para resolução de problemas de programação
Resumo
A geração de programas a partir de linguagem natural visa transformar frases em código de programação. O ChatGPT, baseado no modelo GPT-3, é um chatbot capaz de gerar texto e código como humano. Para avaliar sua corretude no contexto de programação, foram selecionados aleatoriamente 100 problemas de programação, distribuídos entre os graus de complexidade Fácil, Intermediário e Difícil, de plataformas populares para serem resolvidas pelo modelo. Ao longo de 3 tentativas, o ChatGPT acertou 71 problemas, sendo 50 da plataforma LeetCode e 21 da plataforma BeeCrowd, os 29 problemas não solucionados estão majoritariamente distribuídos entre os graus de complexidade Intermediário e Difícil. Nesse contexto, o estudo demonstra que a utilização do ChatGPT pode ser benéfica para os programadores, pois o modelo é capaz de fornecer exemplos de código com soluções para seus desafios. No entanto, também evidencia que o ChatGPT não atinge uma precisão de 100%, portanto, os programadores não devem considerá-lo como um substituto completo.
Referências
Getting started with GitHub Copilot. Disponível em: [link]. Acesso em: Setembro 2023.
ChatGPT. Disponível em: [link]. Acesso em: Setembro 2023.
Recruitment team unwittingly recommends ChatGPT for job interview. Disponível em: [link]. Acesso em: Setembro 2023.
Plataforma LeetCode. Disponível em: [link]. Acesso em: Setembro 2023.
Plataforma BeeCrowd. Disponível em: [link]. Acesso em: Setembro 2023.
ELO Rating System. Disponível em: [link]. Acesso em: Setembro 2023.
FAQS Judge - BeeCrowd. Disponível em: [link]. Acesso em: Setembro 2023.
FAQS Answer - BeeCrowd. Disponível em: [link]. Acesso em: Setembro 2023.
Concorrente ou aliado? Especialista defende que ChatGPT pode alavancar a carreira de programador. Disponível em: [link]. Acesso em: Setembro 2023.
GPT-4. Disponível em: [link]. Acesso em: Setembro 2023.
Rohit Gheyi, Paulo Borba. Refactoring Alloy Specifications. In Cavalcanti, A., Machado, P., eds.: Electronic Notes in Theoretical Computer Science, Proceedings of the Brazilian Workshop on Formal Methods. Volume 95. Elsevier (2004) 227–243.
Categorias dos problemas da plataforma BeeCrowd. Disponível em: [link]. Acesso em: Setembro 2023.
Débora Souza, Rohit Gheyi. Questões submetidas ao ChatGPT. Disponível em: [link]. Acesso em: Setembro 2023.
F. Medeiros et al.. An empirical study on configuration-related issues: investigating undeclared and unused identifiers. GPCE 2015, pages 35–44, 2015.
F. Medeiros et al.. Investigating misunderstanding code patterns in C open-source software projects. Empirical Software Engineering, 24:1693–1726, 2019.
Samia Kabir, David N. Udo-Imeh, Bonan Kou, Tianyi Zhang. Who Answers It Better? An In-Depth Analysis of ChatGPT and Stack Overflow Answers to Software Engineering Questions. Disponível em: [link]. Acesso em: Setembro 2023.
Raphaël Khoury, Anderson Avila, Jacob Brunelle, Baba Camara. How Secure is Code Generated by ChatGPT?. Disponível em: [link]. Acesso em: Setembro 2023.