Dynamic Cogeneration of Bug Reproduction Test in Agentic Program Repair
Runxiang Cheng, Michele Tufano, José Cambronero, Renyao Wei, Sherry Shi, Grant Uy, Pat Rondon, Franjo Ivančić
TL;DR
Bug Reproduction Tests (BRTs) are integrated into agentic Automated Program Repair (APR) as cogeneration—the simultaneous generation of a fix and a BRT within a single patch. The authors study Passerine-based cogeneration strategies (TDD, TLD, Freeform) across 120 Google bugs, showing cogeneration yields plausible fixes and BRTs at least as often as dedicated baselines, with Freeform performing best. They introduce test-aware patch selectors to prioritize patches containing both a plausible fix and BRT, and analyze root causes of cogeneration failures, offering mitigation strategies. The findings suggest cogeneration reduces engineering effort by unifying fix and BRT pipelines while maintaining repair quality, with practical implications for scalable AI-assisted debugging and patch validation.
Abstract
Bug Reproduction Tests (BRTs) have been used in many agentic Automated Program Repair (APR) systems, primarily for validating promising fixes and aiding fix generation. In practice, when developers submit a patch, they often implement the BRT alongside the fix. Our experience deploying agentic APR reveals that developers similarly desire a BRT within AI-generated patches to increase their confidence. However, canonical APR systems tend to generate BRTs and fixes separately, or focus on producing only the fix in the final patch. In this paper, we study agentic APR in the context of cogeneration, where the APR agent is instructed to generate both a fix and a BRT in the same patch. We evaluate the effectiveness of different cogeneration strategies on 120 human-reported bugs at Google and characterize different cogeneration strategies by their influence on APR agent behavior. We develop and evaluate patch selectors that account for test change information to select patches with plausible fixes (and plausible BRTs). Finally, we analyze the root causes of failed cogeneration trajectories. Importantly, we show that cogeneration allows the APR agent to generate BRTs for at least as many bugs as a dedicated BRT agent, without compromising the generation rate of plausible fixes, thereby reducing engineering effort in maintaining and coordinating separate generation pipelines for fix and BRT at scale.
