TDFlow: Agentic Workflows for Test Driven Software Engineering
Kevin Han, Siddharth Maddikayala, Tim Knappe, Om Patel, Austen Liao, Amir Barati Farimani
TL;DR
TDFlow proposes a modular, test driven agentic workflow that decomposes repository scale repair into four specialized sub agents to address human written reproduction tests. The approach frames software engineering as a test resolution problem, enabling iterative patch proposal, debugging, patch revision, and optional test generation within a tightly constrained toolset. Empirical results show strong performance with human written tests, achieving near human level test resolution on SWE-Bench Verified and significant gains over baselines on SWE-Bench Lite, while highlighting test generation as the remaining bottleneck. The work demonstrates the value of narrowly engineered, multi agent interactions for software repair and envisions a human–LLM collaborative loop where humans write tests solved by LLMs, moving toward autonomous repository repair as test generation quality improves.
Abstract
We introduce TDFlow, a novel test-driven agentic workflow that frames repository-scale software engineering as a test-resolution task, specifically designed to solve human-written tests. Given a set of tests, TDFlow repeatedly proposes, revises, and debugs repository-scale patches using precisely engineered sub-agents and tightly constrained tools. The workflow decomposes software engineering program repair into four components governed by respective sub-agents. This simple, forced decoupling of patch proposing, debugging, patch revision, and optional test generation (1) reduces long-context burden on any individual sub-agent, (2) focuses each sub-agent on specific, pre-defined sub-tasks, and (3) allows for specialized performance improvement on specific sub-tasks. When provided human-written tests, TDFlow attains 88.8% pass rate on SWE-Bench Lite (an absolute improvement of 27.8% over the next best system) and 94.3% on SWE-Bench Verified. Manual inspection of the 800 TDFlow runs within SWE-Bench Lite and Verified uncover only 7 instances of test hacking, which were subsequently counted as failures. Furthermore, we show that the primary obstacle to human-level software engineering performance lies within writing successful reproduction tests. We envision a human-LLM interactive system powered by TDFlow where human developers write tests solved by LLM systems. Together, these results indicate that modern LLMs, when embedded in a narrowly engineered, test-driven workflow, already achieve human-level test resolution -- with the final frontier for fully autonomous repository repair being the accurate generation of valid reproduction tests.
