TDD-Agent: Test-Driven Reasoning for Code Generation

2026-08-17Software Engineering

Software EngineeringArtificial Intelligence
AI summary

The authors present TDD-Agent, a method that helps large language models write better code by making them first write tests before the actual code, following the test-driven development approach. Instead of just checking code after it's written, their system improves both the tests and code together using feedback from running the code. They showed that this approach works better than other methods on coding benchmarks and also helps create more useful tests. This means tests can actively guide coding rather than just checking results at the end.

Large Language ModelsCode GenerationTest-Driven DevelopmentExecutable TestsIterative RefinementExecution FeedbackCode CorrectnessRepository-Level TasksBenchmarkingMutation Testing
Authors
Hongyue Yu, Kefan Li, Jiakun Li, Hongzheng Chai, Yuan Yuan, Rui He, Junyi Wei
Abstract
Large Language Models (LLMs) have achieved remarkable progress in code generation, yet ensuring correctness in complex, repository-level tasks remains challenging. Existing approaches often use generated tests as static post-hoc validators, which limits their ability to guide implementation and may introduce misleading feedback when the tests themselves are incomplete or incorrect. In this paper, we introduce TDD-Agent, which operationalizes the test-driven development paradigm for code generation. TDD-Agent first prompts the model to generate executable tests, encouraging it to clarify expected behaviors before implementation, and then performs iterative dual-track refinement over both the generated code and tests using execution feedback. We first isolate the effect of test-first reasoning through a prompt variant TDD-prompt on LiveCodeBench, where it consistently improves upon reasoning-based prompting baselines. Building on this finding, we evaluate the full TDD-Agent framework on RepoEval, a repository-level benchmark, and show that it consistently outperforms retrieval-based and agent-based baselines. Additional analyses show that iterative refinement improves not only code correctness but also the effectiveness of the generated tests, yielding higher pass rates, coverage, and mutation scores, suggesting that tests can serve as evolving reasoning artifacts rather than fixed validators. Our source code is available at https://anonymous.4open.science/r/TDD-Agent-Framework-6370/.