ZeroCoder: Can LLMs Improve Code Generation Without Ground-Truth Supervision?

2026-04-09Software Engineering

Software Engineering
AI summary

The authors propose ZeroCoder, a method that helps computers write better code without needing labeled examples. It works by having two parts—a Coder that writes code and a Tester that creates tests—improve together using feedback from running the generated code against the tests. They also introduce DyB4, a way to adjust selections during training using very few labeled examples to keep the process accurate. Their approach improves code and test generation substantially compared to existing methods, even without using human-curated tests. This co-evolution technique helps the system learn from its own outputs to get better over time.

Code generationReinforcement Learningverifiable rewardsself-generated testsco-evolutionexecution feedbackreward calibrationcurriculum learningBayesian selectorlabel-free training
Authors
Lishui Fan, Mouxiang Chen, Tingwei Zhu, Kui Liu, Xin Xia, Shanping Li, Zhongxin Liu
Abstract
Code generation is important in software engineering, and Reinforcement Learning with Verifiable Rewards (RLVR) is a powerful paradigm to improve it through execution-based feedback. However, most RLVR pipelines rely on human-curated tests, making progress bottlenecked by scarce and costly supervision. Existing work tried to use self-generated tests to ground rewards, but the lack of discriminative tests constrains the effect due to the sub-optimal performance of the model on test generation. We aim to improve code generation without ground-truth supervision by co-evolving code and test generation, so that their interactions yield progressively more informative supervision. To this end, we present ZeroCoder, a fully label-free co-evolutionary framework that jointly trains a Coder and a Tester using execution feedback from self-generated code-test interactions. For each problem, ZeroCoder executes sampled solutions against sampled tests to form a passing matrix, identifies a consensus subset of likely-correct solutions and consistent tests via a pluggable selection algorithm, and derives role-specific rewards. To ensure reward quality, ZeroCoder filters low-information instances via rank-based pre-filtering and trains the Tester with a curriculum balancing validity and mutation-driven discriminativeness. We further identify selector drift, the progressive miscalibration of fixed selection rules during co-evolution, and introduce DyB4, a Bayesian selector that uses as few as 10 labeled instances to recalibrate its priors dynamically. Across three models and six benchmarks, ZeroCoder consistently improves code generation and test generation. In the fully label-free setting, it improves code generation by up to 14.5% over the base model on Qwen2.5-Coder-7B-Instruct. With DyB4, the gain reaches 21.6%, while test generation improves by 24.3%, approaching oracle-supervised performance.