Use este identificador para citar ou linkar para este item: http://repositorio.utfpr.edu.br/jspui/handle/1/34635
Título: Avaliação de modelos de linguagem na resolução de problemas de programação
Título(s) alternativo(s): Evaluation of language models in programming problem solving
Autor(es): Figueredo, Fabiano Massignani
Orientador(es): Pessini, Evando Carlos
Palavras-chave: Processamento de linguagem natural (Computação)
Programação (Computadores)
Inteligência artificial
Natural language processing (Computer science)
Computer programming
Artificial intelligence
Data do documento: 21-Nov-2023
Editor: Universidade Tecnológica Federal do Paraná
Câmpus: Medianeira
Citação: FIGUEREDO, Fabiano Massignani. Avaliação de modelos de linguagem na resolução de problemas de programação. 2024. Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) - Universidade Tecnológica Federal do Paraná, Medianeira, 2023.
Resumo: A adoção de ferramentas baseadas em inteligência artificial no desenvolvimento de software é uma tendência crescente. Com isso, o objetivo deste trabalho foi investigar a aplicabilidade de modelos de linguagem, como o GPT-3.5, GPT-4 e o OpenAI Codex, na resolução de desafios de programação. Para conduzir essa pesquisa, foram empregadas ferramentas como, ChatGPT 3.5, ChatGPT 4 e o Copilot, cada uma dessas ferramentas integrando os mencionados modelos de linguagem. Os desafios foram selecionados na plataforma BeeCrowd, conhecida por seus diversos problemas de programação. Esta plataforma oferece categorizações de problemas e níveis de dificuldade, tornando-se um ambiente propício para a pesquisa. Vale ressaltar que problemas que continham imagens foram excluídos da seleção devido às limitações das ferramentas utilizadas, que se concentram principalmente em texto. Os problemas foram então categorizados com base nos níveis de dificuldade e categorias preexistentes da plataforma, agrupados em dois conjuntos distintos: um compreendendo problemas com a maior quantidade de submissões corretas e, simultaneamente, outro destacando aqueles com a menor quantidade de submissões corretas. As ferramentas mencionadas foram então empregadas na elaboração de soluções para os problemas de programação em questão, cujas resoluções foram submetidas à plataforma BeeCrowd para avaliação. Os resultados evidenciaram o potencial substancial dos modelos de linguagem na geração de código-fonte, particularmente em cenários que envolvem problemas de programação de menor complexidade, isto é, aqueles que contam com um elevado número de submissões corretas dentro da plataforma. A taxa de acerto variou entre as diferentes ferramentas, destacando-se o ChatGPT-4 com a maior eficácia (76,47%), seguido pelo Copilot (64,7%) e ChatGPT-3.5 (58,82%). Entretanto, nos problemas de maior complexidade, caracterizados por um reduzido número de submissões corretas, todos os modelos ainda apresentaram margem para aprimoramentos, com o ChatGPT-4 liderando, registrando uma taxa de acerto de 38,23%, seguido pelo ChatGPT-3.5 (17,64%) e Copilot (16,17%). Esses resultados contribuem para uma melhor compreensão do papel desempenhado por esses modelos de linguagem no contexto da resolução de problemas de programação. Eles fornecem uma visão sobre o quanto essas tecnologias podem ser comparáveis às habilidades humanas na criação de código, enquanto facilitadoras nas atividades desempenhadas pelos desenvolvedores de software.
Abstract: The adoption of artificial intelligence-based tools in software development is an increasing trend. Accordingly, this work aimed to investigate the applicability of language models such as GPT-3.5, GPT-4, and the OpenAI Codex in solving programming challenges. To conduct this research, tools such as ChatGPT 3.5, ChatGPT 4, and Copilot were used, each integrating the aforementioned language models. The challenges were selected from the BeeCrowd platform, known for its diverse programming problems. This platform categorizes problems and difficulty levels, creating a conducive environment for research. It is important to note that problems containing images were excluded from selection due to the limitations of the tools used, which focus primarily on text. The problems were then categorized based on the platform’s existing difficulty levels and categories, grouped into two distinct sets: one comprising problems with the highest number of correct submissions and another highlighting those with the fewest correct submissions. The mentioned tools were then employed to develop solutions for the programming problems in question, whose resolutions were submitted to the BeeCrowd platform for evaluation. The results demonstrated the substantial potential of language models in source code generation, particularly in scenarios involving less complex programming problems, that is, those with a high number of correct submissions within the platform. The success rate varied among the different tools, with ChatGPT-4 standing out with the highest efficacy (76.47%), followed by Copilot (64.7%) and ChatGPT-3.5 (58.82%). However, for more complex problems, characterized by a reduced number of correct submissions, all models still showed room for improvement, with ChatGPT-4 leading with a success rate of 38.23%, followed by ChatGPT-3.5 (17.64%) and Copilot (16.17%). These results contribute to a better understanding of the role played by these language models in the context of programming problem resolution. They provide insight into how these technologies can be comparable to human abilities in code creation, serving as facilitators in the activities performed by software developers.
URI: http://repositorio.utfpr.edu.br/jspui/handle/1/34635
Aparece nas coleções:MD - Ciência da Computação

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
avaliacaomodeloslinguagemprogramacao.pdf1,01 MBAdobe PDFThumbnail
Visualizar/Abrir


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