Test-Driven Prompting: An Empirical Evaluation of Methods Reconstruction based on Unit Tests

Guilherme Mota Bromonschenkel Lima

A geração de código por Modelos de Linguagem de Grande Escala (LLMs) ainda enfrenta desafios de corretude e precisão. Testes unitários, além de verificarem a corretude do código, definem a interface e o comportamento esperado dos métodos sob teste, fornecendo exemplos concretos de uso e resultados esperados. Neste trabalho, propomos o Test-Driven Prompting, uma abordagem de prompting que fornece iterativamente testes unitários relevantes ao modelo, solicitando a reconstrução da implementação de um dado método com base nos testes fornecidos.

Geramos novas implementações para 35 métodos de dois repositórios populares de código aberto em JavaScript/TypeScript e avaliamos sua equivalência funcional em relação às implementações originais. Nossos resultados mostram que fornecer testes unitários como contexto aumenta a taxa de aprovação em até 95 p.p., com ganhos mais expressivos em métodos de lógica não trivial e baixa taxa de aprovação na baseline. Além disso, o número de asserções nos testes apresentou correlação positiva consistente com a qualidade da geração, enquanto o tamanho dos testes impactou negativamente o desempenho dos modelos.


2026/1 - MSI2

Orientador: João Eduardo Montandon

Palavras-chave: code generation, large language models, unit testing, test-driven development, mutation testing, prompt engineering

PDF Disponível