https://arxiv.org/pdf/2603.17973
The main contribution of TDAD is not that it proves Test-Driven Development is ineffective for coding agents, but that repository-aware impact analysis is highly effective. The paper demonstrates that supplying an agent with precomputed code-to-test relationships dramatically reduces regressions compared to both a baseline agent and a TDD-prompted agent.
However, the comparison between TDAD and TDD has an important confounding factor. A TDD workflow requires the agent to generate tests, execute them, analyze failures, revise tests, and iterate before implementation. This process creates large amounts of self-generated context, including reasoning traces, test code, stack traces, and intermediate hypotheses. As a result, the TDD agent may suffer from context accumulation, premature commitment to an incorrect theory of the bug, and reduced implementation quality due to longer trajectories.
By contrast, TDAD primarily provides compact, high-information-density context such as impacted tests, dependency mappings, and graph-derived relationships. Rather than asking the model to discover what should be tested, TDAD tells the model which existing tests are likely relevant. This shifts the problem from test generation to test retrieval.
Therefore, the strongest conclusion supported by the paper is that graph-based impact analysis and targeted test retrieval improve coding-agent reliability. The evidence is less conclusive on whether TDD itself is detrimental. To establish that claim, future work would need ablation studies that isolate the effects of context growth, trajectory length, context resets between phases, and test-generation overhead.
More broadly, TDAD suggests that deterministic repository analysis may provide greater gains than additional prompting complexity. Instead of spending tokens rediscovering code dependencies, agent systems can precompute that information and provide it as structured context, reducing regressions while improving engineering efficiency.
How TDAD Creates Test-Mapping Context
Overview
The central idea behind TDAD (Test-Driven Agentic Development) is that coding agents should not have to rediscover repository dependencies every time they modify code. Instead, repository structure is analyzed offline and converted into a test-mapping artifact that agents can use during development.
Rather than asking the LLM:
TDAD attempts to answer that question ahead of time and provide the answer as context.
Step 1: Extract Repository Structure
TDAD parses the repository and identifies:
It also extracts relationships such as:
For example:
becomes:
This forms the foundation of a repository dependency graph.
Step 2: Connect Tests to Production Code
The system establishes links between tests and the code they exercise.
Example:
Multiple signals can be used:
Direct References
A test directly invokes a function:
Coverage Relationships
Coverage data reveals which functions are executed when a test runs:
These relationships are considered high-confidence mappings.
Transitive Dependencies
The graph can identify indirect relationships.
Example:
Even if the test never references
save_orderdirectly, changes tosave_ordermay still require runningtest_create_order.Step 3: Perform Impact Analysis
Once code-to-test relationships exist, TDAD computes likely affected tests for every code element.
Example:
Relationships can be ranked using confidence scores derived from:
The result is a prioritized list of tests that should be checked when a particular function changes.
Step 4: Generate Agent-Consumable Artifacts
Instead of exposing the graph directly to the LLM, TDAD serializes the information into simple text artifacts.
Example:
Or repository-wide mappings:
The paper references artifacts such as:
These files are placed in the agent's workspace and can be searched using normal tools.
Agent Workflow
With the test map available, the coding agent follows a simpler workflow:
Instead of:
Key Insight
The most important contribution of TDAD is not the graph itself but the externalization of repository knowledge.
The system performs dependency analysis algorithmically and converts the result into compact context that the LLM can consume efficiently. This reduces the need for the model to spend tokens rediscovering code-test relationships and allows it to focus on implementing and validating changes.
In practical terms, TDAD transforms repository structure into a searchable test map, enabling targeted test execution and significantly reducing regressions caused by incomplete impact analysis.