| Name: | Description: | Size: | Format: | |
|---|---|---|---|---|
| 4.34 MB | Adobe PDF |
Abstract(s)
In the era of digital transformation, software has become a critical component across various
industries, driving innovation and operational efficiency. However, the increasing complexity
of software systems emphasizes the need for robust testing practices to ensure reliability
and quality. Traditional software testing methods are often time-consuming and resourceintensive,
creating a demand for automated solutions.
This dissertation explores the potential of Large Language Models (LLMs) in automating the
generation of unit tests through the development of CodeAssert, a comprehensive evaluation
framework. Recent advancements in LLMs, such as GPT, Gemini, and DeepSeek, have
shown promising results in code generation tasks, but their systematic evaluation for unit
test generation requires rigorous comparative analysis.
This research is guided by four specific research questions: What prompting techniques
(zero-shot vs. few-shot) are most effective for enabling LLMs to generate meaningful and
reliable test cases? What is the optimal temperature configuration for model performance
across different prompting strategies? Which LLMs providers and model configurations
demonstrate superior effectiveness in generating high-quality unit tests? And what is the
practical impact of integrating these models into existing software development workflows?
To address these questions, this work presents CodeAssert, a multi-provider evaluation
framework that systematically compares 46 different LLMs configurations across multiple
dimensions. The methodology employs the HumanEval dataset as a benchmark, a human
written dataset, evaluating generated tests through comprehensive metrics including syntax
validation, code coverage analysis, mutation testing, and assertion counting. The evaluation
encompasses models from major providers including Google Gemini and GitHub Models
(Azure AI), tested under various temperature settings and prompting strategies.
The experimental results demonstrate that while some LLMs configurations approach human
written test quality, none surpass the established baseline, indicating that current LLMs
are best positioned as augmentation tools rather than complete replacements for human
expertise. The analysis reveals significant variations in performance across different models
and configurations, with optimal temperature settings varying between zero-shot and fewshot
approaches.
This dissertation contributes to both research and industry by providing CodeAssert as a systematic
evaluation framework for LLMs-based test generation, establishing comprehensive
benchmarks for comparing different models and techniques, and offering practical insights
into the current limitations and optimal usage patterns of LLMs in software testing contexts.
Na era da transformação digital, o software tornou-se um componente crítico em várias indústrias, impulsionando a inovação e a eficiência operacional. No entanto, a crescente complexidade dos sistemas de software enfatiza a necessidade de práticas de teste robustas para garantir a fiabilidade e qualidade. Os métodos tradicionais de teste de software são frequentemente demorados e exigem muitos recursos, criando uma procura por soluções automatizadas. Esta dissertação explora o potencial dos Grandes Modelos de Linguagem (LLMs) na automatização da geração de testes unitários através do desenvolvimento do CodeAssert, uma estrutura de avaliação abrangente. Os recentes avanços nas LLMs, como GPT, Gemini e DeepSeek, revelaram-se promissores em tarefas de geração de código, mas a sua avaliação sistemática para geração de testes unitários requer análise comparativa rigorosa. A investigação é orientada por quatro questões de investigação específicas: Que técnicas de prompting1 (zero-shot vs. few-shot) são mais eficazes para permitir que as LLMs gerem casos de teste significativos e fiáveis? Qual é a configuração de temperatura óptima para o desempenho do modelo em diferentes estratégias de prompting? Que fornecedores de LLMs e configurações de modelo demonstram eficácia superior na geração de testes unitários de alta qualidade? E qual é o impacto prático da integração destes modelos nos fluxos de trabalho de desenvolvimento de software existentes? Para responder a estas questões, este trabalho apresenta o CodeAssert, uma estrutura de avaliação multi-fornecedor que compara sistematicamente 46 configurações diferentes de LLMs em múltiplas dimensões. A metodologia emprega o conjunto de dados HumanEval como referência, um conjunto de dados escrito por humanos, avaliando os testes gerados através de métricas abrangentes incluindo validação de sintaxe, análise de cobertura de código, teste de mutação e contagem de asserções. A avaliação abrange modelos de grandes fornecedores incluindo Google Gemini e GitHub Models (Azure AI), testados sob várias configurações de temperatura e estratégias de prompting. Os resultados experimentais demonstram que, embora algumas configurações de LLMs se aproximem da qualidade dos testes escritos por humanos, nenhuma supera a linha de base estabelecida, indicando que as LLMs atuais estão melhor posicionadas como ferramentas de apoio em vez de substituições completas da experiência humana. A análise revela variações significativas no desempenho entre diferentes modelos e configurações, com configurações ótimas de temperatura variando entre abordagens zero-shot e few-shot. Esta dissertação contribui tanto para a investigação como para a indústria ao fornecer o CodeAssert como uma estrutura de avaliação sistemática para geração de testes baseada em LLMs, estabelecendo referências abrangentes para comparar diferentes modelos e técnicas, e oferecendo contributos práticos sobre as limitações atuais e padrões de utilização ótimos de LLMs em contextos de teste de software.
Na era da transformação digital, o software tornou-se um componente crítico em várias indústrias, impulsionando a inovação e a eficiência operacional. No entanto, a crescente complexidade dos sistemas de software enfatiza a necessidade de práticas de teste robustas para garantir a fiabilidade e qualidade. Os métodos tradicionais de teste de software são frequentemente demorados e exigem muitos recursos, criando uma procura por soluções automatizadas. Esta dissertação explora o potencial dos Grandes Modelos de Linguagem (LLMs) na automatização da geração de testes unitários através do desenvolvimento do CodeAssert, uma estrutura de avaliação abrangente. Os recentes avanços nas LLMs, como GPT, Gemini e DeepSeek, revelaram-se promissores em tarefas de geração de código, mas a sua avaliação sistemática para geração de testes unitários requer análise comparativa rigorosa. A investigação é orientada por quatro questões de investigação específicas: Que técnicas de prompting1 (zero-shot vs. few-shot) são mais eficazes para permitir que as LLMs gerem casos de teste significativos e fiáveis? Qual é a configuração de temperatura óptima para o desempenho do modelo em diferentes estratégias de prompting? Que fornecedores de LLMs e configurações de modelo demonstram eficácia superior na geração de testes unitários de alta qualidade? E qual é o impacto prático da integração destes modelos nos fluxos de trabalho de desenvolvimento de software existentes? Para responder a estas questões, este trabalho apresenta o CodeAssert, uma estrutura de avaliação multi-fornecedor que compara sistematicamente 46 configurações diferentes de LLMs em múltiplas dimensões. A metodologia emprega o conjunto de dados HumanEval como referência, um conjunto de dados escrito por humanos, avaliando os testes gerados através de métricas abrangentes incluindo validação de sintaxe, análise de cobertura de código, teste de mutação e contagem de asserções. A avaliação abrange modelos de grandes fornecedores incluindo Google Gemini e GitHub Models (Azure AI), testados sob várias configurações de temperatura e estratégias de prompting. Os resultados experimentais demonstram que, embora algumas configurações de LLMs se aproximem da qualidade dos testes escritos por humanos, nenhuma supera a linha de base estabelecida, indicando que as LLMs atuais estão melhor posicionadas como ferramentas de apoio em vez de substituições completas da experiência humana. A análise revela variações significativas no desempenho entre diferentes modelos e configurações, com configurações ótimas de temperatura variando entre abordagens zero-shot e few-shot. Esta dissertação contribui tanto para a investigação como para a indústria ao fornecer o CodeAssert como uma estrutura de avaliação sistemática para geração de testes baseada em LLMs, estabelecendo referências abrangentes para comparar diferentes modelos e técnicas, e oferecendo contributos práticos sobre as limitações atuais e padrões de utilização ótimos de LLMs em contextos de teste de software.
Description
Keywords
largue language models software testing generative ai unit test generation comparative analysis
