Mostrar el registro sencillo del ítem
An initial investigation of ChatGPT unit test generation capability
dc.contributor.author | Guilherme, Vitor Hugo | |
dc.date.accessioned | 2023-09-04T18:09:34Z | |
dc.date.available | 2023-09-04T18:09:34Z | |
dc.date.issued | 2023-08-29 | |
dc.identifier.citation | GUILHERME, Vitor Hugo. An initial investigation of ChatGPT unit test generation capability. 2023. Trabalho de Conclusão de Curso (Graduação em Engenharia de Computação) – Universidade Federal de São Carlos, São Carlos, 2023. Disponível em: https://repositorio.ufscar.br/handle/ufscar/18502. | * |
dc.identifier.uri | https://repositorio.ufscar.br/handle/ufscar/18502 | |
dc.description.abstract | Software testing plays a crucial role in ensuring the quality of software, but developers often disregard it. The use of automated testing generation is pursued with the aim of reducing the consequences of overlooked test cases in a software project. Problem: In the context of Java programs, several tools can completely automate generating unit test sets. Additionally, there are studies conducted to offer evidence regarding the quality of the generated test sets. However, it is worth noting that these tools rely on machine learning and other AI algorithms rather than incorporating the latest advancements in Large Language Models (LLMs). Solution: This work aims to evaluate the quality of Java unit tests generated by an OpenAI LLM algorithm, using metrics like code coverage and mutation test score. Method: For this study, 33 programs used by other researchers in the field of automated test generation were selected. This approach was employed to establish a baseline for comparison purposes. For each program, 33 unit test sets were generated automatically, without human interference, by changing Open AI API parameters. After executing each test set, metrics such as code coverage, mutation score, and success rate of test execution were collected to evaluate the efficiency and effectiveness of each set. Summary of Results: Our findings revealed that the OpenAI LLM test set demonstrated similar performance across all evaluated aspects compared to traditional automated Java test generation tools used in the previous research. These results are particularly remarkable considering the simplicity of the experiment and the fact that the generated test code did not undergo human analysis. | eng |
dc.description.sponsorship | Não recebi financiamento | por |
dc.language.iso | por | por |
dc.publisher | Universidade Federal de São Carlos | por |
dc.rights | Attribution 3.0 Brazil | * |
dc.rights.uri | http://creativecommons.org/licenses/by/3.0/br/ | * |
dc.subject | Software testing | por |
dc.subject | Experimental software engineering | por |
dc.subject | Automated test generation | por |
dc.subject | Coverage testing | por |
dc.subject | Mutation testing | por |
dc.subject | Testing tools | por |
dc.title | An initial investigation of ChatGPT unit test generation capability | eng |
dc.title.alternative | Uma investigação inicial da capacidade de geração de teste unitário do ChatGPT | por |
dc.type | TCC | por |
dc.contributor.advisor1 | Vincenzi, Auri Marcelo Rizzo | |
dc.contributor.advisor1Lattes | http://lattes.cnpq.br/0611351138131709 | por |
dc.description.resumo | O teste de software desempenha um papel crucial na garantia da qualidade do software, mas os desenvolvedores frequentemente o desconsideram. O uso da geração automática de testes é perseguido com o objetivo de reduzir as consequências de casos de teste negligenciados em um projeto de software. Problema: No contexto dos programas Java, várias ferramentas podem automatizar completamente a geração de conjuntos de testes unitários. Além disso, há estudos realizados para oferecer evidências sobre a qualidade dos conjuntos de testes gerados. No entanto, vale ressaltar que essas ferramentas dependem de aprendizado de máquina e outros algoritmos de IA, ao invés de incorporar os últimos avanços em Modelos de Linguagem Grande (LLMs). Solução: Este trabalho tem como objetivo avaliar a qualidade dos testes unitários Java gerados por um algoritmo LLM da OpenAI, usando métricas como cobertura de código e escore de mutação. Método: Para este estudo, 33 programas usados por outros pesquisadores no campo da geração automática de testes foram selecionados. Esta abordagem foi empregada para estabelecer uma base de comparação. Para cada programa, 33 conjuntos de testes unitários foram gerados automaticamente, sem interferência humana, alterando os parâmetros da API da OpenAI. Após a execução de cada conjunto de testes, métricas como cobertura de código, escore de mutação e taxa de sucesso da execução do teste foram coletadas para avaliar a eficiência e eficácia de cada conjunto. Resumo dos Resultados: Nossas descobertas revelaram que o conjunto de testes LLM da OpenAI demonstrou desempenho semelhante em todos os aspectos avaliados em comparação com as ferramentas tradicionais de geração automática de testes Java usadas nas pesquisas anteriores. Esses resultados são particularmente notáveis considerando a simplicidade do experimento e o fato de que o código de teste gerado não passou por análise humana. | por |
dc.publisher.initials | UFSCar | por |
dc.subject.cnpq | CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE | por |
dc.description.sponsorshipId | Processo nº 2019/23160-0, Fundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP) | por |
dc.description.sponsorshipId | Finance Code 001 - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES) | por |
dc.publisher.address | Câmpus São Carlos | por |
dc.contributor.authorlattes | http://lattes.cnpq.br/0080411869714148 | por |
dc.identifier.url | https://github.com/aurimrv/initial-investigation-chatgpt-unit-tests.git | por |
dc.publisher.course | Engenharia de Computação - EC | por |
dc.contributor.authororcid | https://orcid.org/0009-0005-5868-290X | por |
dc.contributor.advisor1orcid | https://orcid.org/0000-0001-5902-1672 | por |