Estudo do desempenho de LLMs como geradores automáticos de teste unitário para programas Python

dc.contributor.advisor-co1Vincenzi, Auri
dc.contributor.advisor-co1Latteshttp://lattes.cnpq.br/0611351138131709
dc.contributor.advisor1Endo, André Takeshi
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/4221336619791961
dc.contributor.advisor1orcidhttps://orcid.org/0000-0002-8737-1749
dc.contributor.authorGuerino, Lucca Renato
dc.contributor.authorlatteshttp://lattes.cnpq.br/3505994629421906
dc.contributor.authororcidhttps://orcid.org/0009-0004-6071-1418
dc.date.accessioned2025-12-19T18:35:00Z
dc.date.issued2025-12-12
dc.description.abstractSoftware testing is a fundamental stage in system development, essential for detecting faults and ensuring the quality of the final product, yet it remains challenging for dynamically typed languages such as Python. This study examines the ability of the ChatGPT-3.5-turbo language model to generate test sets for Python programs, comparing its performance with tools such as Pynguin and with existing test suites. For this evaluation, 40 Python programs were used, from which Pytest-compliant tests were generated through the OpenAI API under varying temperature settings. The tests were validated using Pytest, and coverage and mutation scores were obtained with Coverage, MutPy, and Cosmic-Ray. The results show that ChatGPT-3.5-turbo produces valid tests for simple programs but maintains an overall average below 28%, despite its low computational cost. Higher temperatures improve performance, and combining tests generated at different temperatures increases diversity, allowing the model to outperform both Pynguin and existing test suites in decision coverage and mutation score.eng
dc.description.resumoO teste de software é uma etapa fundamental no desenvolvimento de sistemas, sendo essencial para a detecção de falhas no desenvolvimento e a garantia da qualidade do produto final, o que continua sendo um desafio para linguagens dinamicamente tipadas, como o Python. O estudo examina a capacidade do modelo de linguagem ChatGPT-3.5-turbo de gerar conjuntos de testes para programas em Python, comparando seu desempenho ao de ferramentas como o Pynguin e a conjuntos de testes já existentes. Para essa avaliação, foram utilizados 40 programas em Python, a partir dos quais se geraram testes compatíveis com Pytest por meio da API da OpenAI, variando níveis de temperatura de geração. Os testes foram validados com Pytest, enquanto métricas de cobertura e pontuação de mutação foram obtidas com as ferramentas Coverage, MutPy e Cosmic-Ray. Os resultados mostram que o ChatGPT-3.5-turbo gera testes válidos para programas simples, mas mantém média geral abaixo de 28%, embora com baixo custo computacional. Temperaturas mais altas melhoram o desempenho, e combinar testes de diferentes temperaturas aumenta a diversidade, permitindo superar Pynguin e testes existentes em cobertura de decisão e pontuação de mutação.
dc.identifier.citationGUERINO, Lucca Renato. Estudo do desempenho de LLMs como geradores automáticos de teste unitário para programas Python. 2025. Trabalho de Conclusão de Curso (Graduação em Engenharia de Computação) – Universidade Federal de São Carlos, São Carlos, 2025. Disponível em: https://repositorio.ufscar.br/handle/20.500.14289/23337.por
dc.identifier.urihttps://hdl.handle.net/20.500.14289/23337
dc.identifier.urlhttps://github.com/aurimrv/python_experiments2
dc.language.isopor
dc.publisherUniversidade Federal de São Carlos
dc.publisher.addressCampus São Carlos
dc.publisher.courseEngenharia de Computação - EC
dc.publisher.initialsUFSCar
dc.rightsAttribution-NoDerivs 3.0 Brazilen
dc.rights.urihttp://creativecommons.org/licenses/by-nd/3.0/br/
dc.subjectteste de software
dc.subjectmodelos de linguagem de larga escala
dc.subject.cnpqCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO
dc.subject.ods9. Indústria, Inovação e Infraestrutura
dc.titleEstudo do desempenho de LLMs como geradores automáticos de teste unitário para programas Python
dc.title.alternativeA study on the performance of LLMs as automatic unit test generators for Python programseng
dc.typeTCC

Arquivos

Pacote Original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
TCC_EC_Lucca_Guerino.pdf
Tamanho:
492.37 KB
Formato:
Adobe Portable Document Format

Coleções