EvolveCoder: Evolving Test Cases via Adversarial Verification for Code Reinforcement Learning
This addresses the challenge of effective reinforcement learning for code generation in large language models, representing an incremental improvement with a novel method for a known bottleneck.
The paper tackled the problem of weak and static verification signals in code generation reinforcement learning by introducing an adversarial verification framework that evolves test cases based on candidate solutions, resulting in improved performance such as a pass@1 decrease from 43.80 to 31.22 and a 4.2-point gain for Qwen3-4B across benchmarks.
Reinforcement learning with verifiable rewards (RLVR) is a promising approach for improving code generation in large language models, but its effectiveness is limited by weak and static verification signals in existing coding RL datasets. In this paper, we propose a solution-conditioned and adversarial verification framework that iteratively refines test cases based on the execution behaviors of candidate solutions, with the goal of increasing difficulty, improving discriminative power, and reducing redundancy. Based on this framework, we introduce EvolveCoder-22k, a large-scale coding reinforcement learning dataset constructed through multiple rounds of adversarial test case evolution. Empirical analysis shows that iterative refinement substantially strengthens verification, with pass@1 decreasing from 43.80 to 31.22. Reinforcement learning on EvolveCoder-22k yields stable optimization and consistent performance gains, improving Qwen3-4B by an average of 4.2 points across four downstream benchmarks and outperforming strong 4B-scale baselines. Our results highlight the importance of adversarial, solution-conditioned verification for effective and scalable reinforcement learning in code generation.