Execution feedback improves coding agents by learning to test better
ExecCritic: Learn to Test, Test to Improve for Coding Agents
Artificial IntelligenceComputation and LanguageSoftware Engineering
Summary
Fixing bugs in code can be tricky because tests might not always check for the right things. The researchers created ExecCritic, a method where one AI learns to write good tests while another AI fixes the code using feedback from those tests. By keeping test creation separate from code fixing, their system makes fewer mistakes and improves repair success. They trained these AI roles separately and tested their approach, showing clear improvement without needing stronger models or perfect tests at evaluation.
What this means in practice
- •For software development teams: Improve automated bug fixing by integrating AI agents that generate and verify code tests separately for more reliable repairs.
- •For code quality engineers: Use distinct AI components to generate tests and repair code, reducing false confidence in code fixes from flawed tests.
Authors
Leitian Tao, Baolin Peng, Haorui Wang, Hang Wang, Hao Cheng, Wenlin Yao, Qianhui Wu, Tao Ge, Sharon Li, Jianfeng Gao
Abstract
Execution feedback can guide coding agents toward correct repository repairs, but only when the tests capture the behavior requested by the issue. Agent-generated tests can encode incomplete or incorrect behavioral targets; when the same trajectory writes both the patch and the test, their errors can agree and create false confidence. We introduce ExecCritic, combining a test--verify--revise scaffold with a role-specific reinforcement learning recipe for training agents within it. The scaffold separates test construction from source-code repair: a Test agent independently generates repository-native tests, a fail-closed harness qualifies and freezes them, and a Repair agent revises source code from their execution feedback without changing the tests. Both roles use Qwen-3.5-35B-A3B as the backbone and are trained separately. In Learn to Test, the Test agent learns to produce behaviorally valid tests that distinguish correct from incorrect patches. In Test to Improve, the Repair agent learns both direct task resolution and feedback-guided revision. On SWE-bench Verified, test quality determines whether feedback helps: holding the base Repair agent fixed, tests from the base Test agent reduce resolved rate from a no-test baseline of 61.2% to 57.3%, whereas tests from GPT-5.6-sol raise it to 65.3%. Role-specific post-training raises the Qwen Test agent's Base-to-Gold success from 22.2% to 62.2%; composing the two post-trained Qwen agents reaches 72.6%, an 11.4-point gain over the original no-test baseline without stronger-model or Oracle feedback at evaluation time. Code is publicly available at https://github.com/MSR-Orchard/execcritic.