CodeMidas: Scaling Agentic Coding RL Environments from Code Itself
Abstract: Training capable coding agents via reinforcement learning (RL) requires diverse tasks with reliable verifiers. Open-source codebases offer a rich source of such tasks, while existing methods typically rely on development artifacts such as issues and commits, limiting the range of tasks that can be extracted. To better scale RL environments, we present CodeMidas, an agentic pipeline that turns implemented functionality in existing codebases into executable RL environments using source code as its only task-specific input. CodeMidas allocates agentic compute to every stage of environment construction: agents explore implemented functionality to formulate behavioral specifications, construct tests grounded in execution of the original code, and validate and filter candidate tasks through execution checks and repeated solution rollouts. The resulting dataset has 5,545 training tasks from 3,185 open-source codebases spanning 23 programming languages and 15 technical domains. Training MiMo-V2.5 on these tasks with GRPO improves performance on all five diverse benchmarks, covering issue repair (DeepSWE + 11.7%), whole-program construction (ProgramBench +17%), and terminal work (Terminal-Bench v2.1 +8.5%). Ablations show that increasing the number of high-quality training tasks improves performance. Trajectory analysis shows the RL-trained agent demonstrates better behaviors like increasing codebase exploration and more diverse self-verification. These results establish source code as a scalable foundation for constructing RL environments that improve coding agents across diverse software tasks.
First 10 authors:
Paper Prompts
Sign up for free to create and run prompts on this paper.
Top Community Prompts
Explain it Like I'm 14
1. What is the paper about?
The paper introduces CodeMidas, a system for creating training exercises for AI coding agents.
Coding agents are artificial-intelligence programs that can read, write, and test computer code. To become better, they need lots of practice tasks, much like a student needs many exercises. The problem is that creating good coding exercises is difficult: each task needs clear instructions, a realistic coding environment, and reliable tests to decide whether the answer is correct.
CodeMidas tries to solve this problem by turning existing open-source software into new training tasks. It uses the code itself, rather than depending mainly on bug reports, written documentation, or old software changes.
2. What questions did the researchers study?
The researchers mainly wanted to know:
- Can existing source code be turned automatically into useful coding exercises?
- Can these exercises include accurate tests that fairly judge different correct solutions?
- Will an AI trained on these tasks become better at many kinds of programming work?
- Is it more useful to have a smaller number of carefully checked tasks than a larger number of poorly checked tasks?
- How does the AI’s behavior change while it learns?
In simple terms, the researchers were asking whether real software can be transformed into a large, reliable practice workbook for coding AIs.
3. How does CodeMidas work?
Each CodeMidas task contains three main parts:
- A written description of what the program should do.
- A coding environment where the AI must make changes.
- Hidden tests that check the completed work.
The hidden tests are not shown to the AI, just as a teacher might give students a problem without showing them the answer key.
Creating a task from existing code
CodeMidas starts with an open-source codebase. An AI system examines the project and looks for a useful function or feature that already works.
It then:
- Studies how the feature works.
- Writes a task description explaining the feature’s expected behavior.
- Removes the original implementation.
- Leaves the rest of the project available to the coding agent.
- Keeps the original implementation separately as a reference answer.
For example, imagine a program that already has a function for finding duplicate files. CodeMidas could remove that function and ask a coding agent to rebuild it.
The agent is expected to figure out its own programming strategy. The task description explains what the program must do, but not exactly how to do it.
Building fair tests
CodeMidas runs the original version of the program with different inputs and records what happens. These observations help create tests.
The tests may check:
- Whether a function gives the correct result.
- Whether a command-line program prints the required output.
- Whether an error is raised when incorrect input is given.
- Whether a program behaves correctly after several actions in a row.
The researchers try to avoid unfair tests. For example, if the task only requires a particular type of error, the test should not demand one exact error message unless the message was part of the instructions.
This is similar to grading a math problem: a teacher should accept different methods if they all produce the correct answer.
Checking that tasks are reliable
Before using a task for training, CodeMidas performs several checks:
- The incomplete version should fail the tests.
- The original complete version should pass the tests.
- These results must remain consistent in several fresh computer environments.
- AI agents try to solve the task several times.
- Other agents inspect whether the tests correctly judge those solutions.
- The system searches for hidden files, cached results, or compiled material that could accidentally reveal the answer.
This last check is called leakage filtering. It is like making sure students cannot find the answer key hidden under their desks.
Training the coding agent
The researchers trained an AI model called MiMo-V2.5 using 5,545 CodeMidas tasks.
They used reinforcement learning, a method in which an AI receives a reward for good behavior. Here, the reward was usually simple:
- The solution passes the hidden tests: reward.
- The solution fails the tests: no reward.
The researchers used a method called GRPO to help the model learn from groups of possible attempts. The technical details are less important than the main idea: the AI tried different solutions and learned to prefer the ones that worked.
4. What did the researchers find?
CodeMidas created a large and varied dataset
The system produced:
- 5,545 training tasks
- From 3,185 open-source codebases
- Covering 23 programming languages
- Spanning 15 technical areas
The most common languages included Python, TypeScript, Go, C++, and JavaScript. The tasks included software such as systems programs, web tools, and developer utilities.
This shows that CodeMidas can create tasks from many different kinds of software, not just one programming language or one type of problem.
Training improved the AI on several benchmarks
After training with CodeMidas, the coding agent performed better on five outside tests. These tests measured different skills, including:
- Repairing real software problems.
- Building complete programs.
- Translating code between languages.
- Working with command-line tools.
Some important results were:
| Evaluation | Before training | After training | Improvement |
|---|---|---|---|
| DeepSWE | 10.0% | 21.7% | +11.7 percentage points |
| Terminal-Bench | 63.7% | 72.2% | +8.5 percentage points |
| ProgramBench “Almost Solved” | 4.5% | 21.5% | +17 percentage points |
A percentage point difference compares two percentages directly. For example, moving from 10% to 21.7% is an increase of 11.7 percentage points.
The improvement on several different tests is important because it suggests that the AI did not simply memorize the CodeMidas exercises. Instead, it learned skills that could help with new programming tasks.
More high-quality tasks led to better results
The researchers compared training with 1,000, 3,000, and 5,545 carefully checked tasks.
In general, the AI performed better when it trained on more high-quality tasks. However, an especially interesting result was that the carefully cleaned 5,545-task collection performed better than a larger collection of about 8,000 tasks that had not gone through the same checks.
Even the carefully checked 3,000-task set performed better than the unfiltered 8,000-task set in several evaluations.
This suggests that quality matters as much as quantity. A large number of unreliable exercises may be less useful than a smaller number of trustworthy ones.
The AI changed how it solved problems
After training, the AI showed several new behaviors:
- It searched and read more of the codebase before editing.
- It planned more of its code before writing it.
- It used more varied tests to check its own work.
On CodeMidas tasks, the AI made about 27 read or search actions before its first edit early in training, compared with about 40 actions later in training.
Solutions that included the AI’s own checks had an average success rate about 4.2 percentage points higher than solutions without such checks.
This suggests that the AI became more careful. Instead of immediately changing code, it was more likely to investigate the project, plan a solution, and test its work.
5. Why are these findings important?
Training coding AIs usually requires many carefully designed examples. Human experts cannot easily create millions of realistic tasks by hand. CodeMidas offers a possible way to create more tasks automatically from the huge amount of software already available online.
The research also shows that source code contains useful information about:
- What a program is supposed to do.
- How its parts connect.
- What results users should expect.
- Which tests can be used to judge a solution.
If this approach continues to work, it could help build coding agents that are better at real software engineering, not just at solving small programming puzzles.
6. Simple conclusion
The paper’s main message is that existing software can be turned into practice exercises for AI coding agents.
CodeMidas removes a working feature from an open-source project, describes what that feature should do, creates hidden tests, and checks that the task is fair and reliable. The researchers used thousands of these tasks to train an AI, and the AI became better at several kinds of programming challenges.
The potential impact is significant: future coding agents could learn from a much wider range of realistic software tasks. However, the process still depends on automated systems making good descriptions and tests, so careful checking remains important. A task with a bad test could teach the AI the wrong lesson.
Overall, the paper suggests that well-checked training tasks made from real code can make AI programmers more capable, more careful, and better prepared for unfamiliar software problems.
Knowledge Gaps
The paper leaves the following knowledge gaps, limitations, and open questions unresolved:
- Generalization beyond MiMo-V2.5 is unknown: The experiments use a single base model and do not establish whether CodeMidas tasks improve other model architectures, parameter scales, or training paradigms.
- The causal contribution of CodeMidas is not fully isolated: Improvements may reflect GRPO, additional training compute, longer interaction budgets, or task exposure rather than the source-code-based task construction itself.
- The relative value of each pipeline component remains unclear: The study does not provide a complete factorial ablation separating task design, environment cleaning, execution-consistency checks, leakage filtering, verifier review, and rollout-outcome filtering.
- Verifier correctness is only partially validated: Reviewer-agent judgments and reference-solution agreement do not establish that tests cover all stated requirements or accept all valid alternative implementations.
- The reliability of model-based solution reviews is uncertain: The paper does not report inter-rater agreement, human validation rates, reviewer failure modes, or sensitivity to reviewer-model choice.
- The filtering process may introduce selection bias: Retaining tasks with both successful and failed frontier-model rollouts may preferentially select tasks of particular difficulty or structure and exclude genuinely easy, difficult, or novel tasks.
- Task difficulty is not systematically characterized: The dataset lacks a detailed analysis of difficulty distributions, factors determining difficulty, and whether training and evaluation tasks are matched or well calibrated.
- The evaluation sets are relatively small or incompletely reported: Statistical significance, confidence intervals, variance across random seeds, and per-task results are not reported for the main external benchmark improvements.
- Training stability and reproducibility are unresolved: The paper does not report results across multiple RL runs, random seeds, hyperparameter settings, or alternative rollout budgets.
- The comparison with the unfiltered 8k dataset is confounded: The vanilla and filtered pools may differ in task composition, language, difficulty, and reference-solution size, so the observed gains cannot be attributed solely to cleaning and filtering.
- Scaling beyond 5,545 tasks is not established: The paper shows gains from 1k to 5,545 tasks but does not determine whether performance continues to improve, saturates, or degrades with substantially larger task pools.
- Data efficiency is not quantified: The study does not compare CodeMidas with equivalent amounts of training tokens, environment interactions, or compute consumed by alternative task-generation methods.
- The role of task diversity is not disentangled from task quantity: It remains unclear whether gains arise from the number of tasks, language diversity, domain diversity, interface diversity, or repository-level complexity.
- Language coverage is highly imbalanced: Although 23 languages are represented, most tasks come from a few languages; performance and transfer to the long-tail languages are not evaluated separately.
- Domain coverage may not reflect real-world software distributions: The concentration in systems software, web technologies, and developer tools leaves performance on underrepresented domains unclear.
- The approach’s applicability to proprietary or non-public codebases is unknown: All tasks originate from open-source repositories, so licensing, access, dependency, and confidentiality constraints in industrial settings are not addressed.
- Potential training-data contamination is not thoroughly examined: The reference implementations, repositories, or generated tasks may overlap with pretraining or benchmark data, especially for widely used open-source projects.
- The effects of source-code memorization are not separated from genuine behavioral learning: The paper does not test whether agents solve tasks by recovering familiar implementations, exploiting repository-specific patterns, or learning transferable specifications.
- Security and supply-chain risks are underexplored: Building environments from arbitrary repositories and installing their dependencies may expose the pipeline to malicious code, compromised packages, unsafe build scripts, or sandbox escapes.
- Environment reproducibility over time is uncertain: Dependency drift, external services, nondeterministic builds, and changes in package availability may affect whether generated environments remain executable.
- The scope of supported functionality is unclear: The method is described mainly for public interfaces, CLI tools, pure functions, and stateful APIs; its effectiveness for graphical interfaces, distributed systems, concurrency, hardware-dependent code, networking, or nondeterministic applications is not demonstrated.
- Non-functional software requirements are largely omitted: Tests focus on observable functional behavior and do not establish whether generated tasks adequately assess performance, memory use, security, maintainability, concurrency correctness, or usability.
- Reference execution may encode undesirable implementation behavior: Using the original implementation to generate expected outputs can reproduce undocumented bugs, accidental behaviors, or security vulnerabilities rather than the intended specification.
- The treatment of ambiguous or underspecified behavior is not evaluated: The paper does not measure how often agents identify ambiguity, how reviewers resolve it, or whether different valid interpretations lead to inconsistent task labels.
- Leakage filtering may not detect all solution shortcuts: The adversarial rollout procedure could miss semantic leakage through dependency metadata, package versions, generated documentation, APIs, commit history, or indirect behavioral oracles.
- The relationship between verifier-passing and real software quality remains unknown: Passing synthesized tests may not imply robust, maintainable, secure, or production-ready code.
- The behavioral analyses are correlational: The association between self-verification and higher pass rates does not show that self-verification causes success; more capable rollouts may simply both verify more and solve more often.
- Behavioral metrics have limited construct validity: Counts of read/search calls, drafting overlap, and distinct verification commands may not accurately measure exploration, reasoning quality, or verification effectiveness.
- The changing rollout populations complicate behavioral comparisons: The measured subsets can vary across checkpoints, and the paper does not fully control for task difficulty, truncation, failed runs, or interaction-budget effects.
- The impact of longer trajectories is ambiguous: Increased token or interaction length may reflect productive reasoning, inefficient exploration, or reward-hacking behavior; the paper does not distinguish among these possibilities.
- The analysis does not investigate failure modes in depth: There is little characterization of incorrect solutions, such as specification misunderstanding, incomplete exploration, brittle patches, test overfitting, dependency errors, or environment failures.
- Long-term and iterative software-engineering performance is untested: The evaluations primarily measure completion of isolated tasks and do not assess maintenance over successive changes, regression prevention, or performance across extended project lifecycles.
- Human and expert comparisons are absent: The paper does not compare CodeMidas-generated task difficulty, verifier quality, or agent solutions with human-authored tasks, human developers, or expert-reviewed patches.
- The cost-effectiveness of agentic environment construction is not reported: Compute, time, human-review effort, storage, and containerization costs are not compared with those of existing task-generation pipelines.
- The public reproducibility of the dataset and pipeline is unclear: The paper does not specify whether all repositories, task statements, containers, verifiers, filtering traces, and training configurations will be released sufficiently for independent replication.**
Practical Applications
Immediate Applications
The paper’s strongest near-term applications concern software engineering, developer tooling, and research infrastructure. They are deployable now using containerized execution, open-source repositories, automated test generation, and existing coding-agent models.
- Automated coding-agent training for software companies (software engineering; industry)
- bug fixing and issue resolution;
- feature implementation;
- code translation between languages;
- command-line and terminal operations;
- repository-level software maintenance.
- A practical product would be an internal pipeline that selects a public API or command-line feature, removes its implementation, generates a behavioral specification and hidden tests, and uses the resulting environment for agent fine-tuning.
- Repository-specific coding copilots (developer tools; enterprise software)
- proprietary SDKs;
- infrastructure-as-code repositories;
- internal data-processing tools;
- service APIs and microservice interfaces;
- legacy systems with limited documentation.
- The agent could then assist with repository navigation, implementation, testing, and regression repair.
- Automated test and verifier generation (software quality assurance)
The execution-grounded test-construction procedure can be used independently of reinforcement learning to generate or expand test suites. A testing tool could:
- inspect a public interface;
- execute a trusted reference implementation;
- generate input-output and state-transition cases;
- remove assertions that encode undocumented implementation details;
- run the tests against alternative implementations. This can help identify missing edge cases, weak tests, and false-positive “solved” patches.
Pre-deployment evaluation of coding agents (AI safety; software engineering)
- genuinely implements requested behavior rather than retrieving hidden artifacts;
- explores the relevant codebase;
- performs self-verification;
- succeeds across diverse languages and repository structures;
- produces correct implementations accepted by behavior-based tests.
- This is particularly useful for procurement, model release evaluation, and regression testing between agent versions.
- Agent-assisted code review and patch validation (software maintenance; cybersecurity)
- explicit requirements;
- expected public behavior;
- boundary cases;
- stateful call sequences;
- compatibility with existing dependencies.
- This is useful for detecting patches that pass shallow test suites but violate requirements, an issue the paper explicitly addresses through verifier review and post-rollout filtering.
- Interactive developer workflows emphasizing exploration and self-checking (daily professional use)
- repository search before editing;
- inspection of callers and dependencies;
- drafting before making changes;
- multiple forms of self-verification after edits.
- IDE plugins and terminal agents could expose automated checklists or prompts such as “inspect usages,” “run targeted tests,” and “test boundary conditions.” This is an immediate workflow improvement even without retraining a new model.
- Scalable academic benchmarks for software engineering agents (academia)
- programming language;
- task difficulty;
- number of affected files;
- interface type;
- stateful versus stateless behavior;
- test strength and specification completeness.
- The fail-to-pass requirement and repeated execution checks provide a reproducible basis for comparing RL methods, reward designs, exploration strategies, and verifier quality.
- Training data-quality auditing for coding RL (machine learning research)
- environment reproducibility checks;
- adversarial leakage scans;
- verifier–specification agreement reviews;
- selection of tasks with both successful and failed rollouts;
- deduplication across repositories and functionality.
- This can reduce wasted compute and prevent models from learning exploitable shortcuts.
- Open-source maintenance assistance (open-source communities; public-sector software) Maintainers can deploy coding agents trained or evaluated with source-derived environments to handle routine tasks such as API additions, compatibility fixes, refactoring, and test creation. Human maintainers would still approve patches, while the agent handles implementation and produces evidence from executable checks.
- Potentially relevant non-software sectors through domain-specific repositories (engineering, finance, healthcare, energy)
- scientific computing and simulation;
- financial analytics libraries;
- healthcare data-processing software;
- energy-system modeling tools;
- robotics middleware and control libraries.
- In these domains, the immediate use should generally be developer assistance and testing, not autonomous operation of safety-critical systems.
Long-Term Applications
The longer-term opportunities depend on scaling the method, improving verifier reliability, addressing intellectual-property and privacy constraints, and validating whether benchmark gains translate into dependable real-world deployment.
- Autonomous software engineering teams (enterprise software; long-term)
- stronger multi-step and process-level rewards;
- reliable handling of ambiguous requirements;
- secure access to production-like environments;
- human escalation mechanisms;
- evaluation on real organizational outcomes rather than benchmark pass rates alone.
- Continuous self-improvement of coding agents from live repositories (AI infrastructure; long-term)
- automatic curriculum construction;
- language- and domain-balanced sampling;
- difficulty progression;
- targeted training on recurring agent failures;
- rapid adaptation to new frameworks and APIs.
- Feasibility depends on preventing data leakage between training and evaluation and on establishing legal authorization for repository use.
- Agent training for robotics, embedded systems, and cyber-physical software (robotics; embedded systems; long-term)
- hardware-in-the-loop verification;
- timing, resource, and safety constraints;
- deterministic simulators;
- safeguards against unsafe code;
- validation under sensor noise and hardware variability.
- High-assurance software development in healthcare, finance, and energy (regulated industries; long-term)
- formal methods and property-based testing;
- traceable requirements;
- independent verification and validation;
- regulatory documentation;
- security and privacy review;
- guarantees for rare and high-impact failure modes.
- Policy and public-sector auditing of AI-generated software (policy; government procurement; long-term)
- reproducible execution;
- resistance to artifact leakage;
- behavioral rather than implementation-specific testing;
- performance across representative repositories;
- independent verifier review;
- documented uncertainty and failure rates.
- This could inform procurement rules for AI-assisted software development and public-sector cybersecurity controls.
- Automated migration and modernization of legacy systems (enterprise IT; long-term)
- preservation of undocumented behavior;
- compatibility with external systems;
- long-duration regression testing;
- performance equivalence;
- rollback and audit capabilities.
- Personalized programming education and adaptive training environments (education; long-term)
- realistic multi-file programming assignments;
- feedback based on executable behavior;
- practice in debugging and terminal use;
- individualized curricula based on failure patterns;
- training in testing and codebase exploration.
- Deployment depends on filtering licensing-sensitive code, avoiding overly difficult or ambiguous tasks, and ensuring that generated tests assess learning objectives rather than accidental implementation details.
- Benchmarking and training agents for general computer use beyond coding (AI research; long-term) The central design principle—turning observable behavior in an existing system into an executable task and verifier—could extend to configuration management, data workflows, scientific tools, and enterprise applications. This would require reliable environment snapshots, safe reset mechanisms, and verifiers for outcomes that are not naturally represented as unit-test pass/fail results.
- Large-scale software ecosystem intelligence (industry analytics; long-term)
- prioritize documentation;
- improve API design;
- identify fragile components;
- forecast maintenance costs;
- guide investments in testing infrastructure.
- Such analysis must account for repository-selection bias, language imbalance, and the fact that the paper’s dataset is concentrated in Python, TypeScript, Go, C++, and JavaScript, with systems software, web technologies, and developer tools especially prominent.
- General-purpose autonomous agents with learned verification habits (long-term AI systems) The observed increases in repository exploration, code drafting, and diverse self-verification suggest a broader research direction: training agents not merely to produce outputs, but to develop reliable work habits. A future agent could learn to inspect context, formulate hypotheses, test alternatives, and revise its work across software, data, and technical research tasks. This remains dependent on stronger causal evidence that these behaviors improve real-world reliability, rather than merely correlating with success on the paper’s evaluation environments.
Across these applications, the main feasibility assumptions are that the source code can legally be used, the original implementation provides a trustworthy behavioral reference, dependencies can be reproduced in containers, generated tests accurately reflect stated requirements, and hidden verifiers are resistant to leakage and specification gaps. The reported benchmark improvements demonstrate strong promise for coding-agent training, but they do not by themselves establish safe, unsupervised deployment in high-impact or safety-critical settings.
Glossary
- Adversarial rollout: An agent execution deliberately designed to find weaknesses or exploitable information in a task environment. “In adversarial rollouts, an agent tries to exploit residual leakage to recover a solution without doing the intended development work.”
- Agentic coding: The autonomous use of an AI agent to perform software-development tasks over multiple interactions. “LLMs are increasingly capable of agentic coding: completing substantial pieces of real software work autonomously over long horizons”
- Behavioral specification: A description of required externally observable behavior, independent of internal implementation details. “agents explore implemented functionality to formulate behavioral specifications”
- Binary execution reward: A reward consisting of one of two values, typically indicating whether execution-based tests passed or failed. “return a binary execution reward for RL.”
- Codebase adaptation: The modification of an existing software repository to create a development starting point for a task. “We first introduce task design and codebase adaptation”
- Codebase exploration: Systematic inspection of a repository’s files, structure, dependencies, and interfaces. “To characterize the behavioral changes accompanying the performance gains, we analyze codebase exploration”
- Compiled artifact: A generated binary or other output produced by compiling source code. “Cleanup removes artifacts that could reveal the deleted implementation, including compiled outputs”
- Containerized development environment: An isolated, reproducible software environment packaged with its dependencies and runtime resources. “Each task consists of a statement, a containerized development environment, and a hidden executable verifier.”
- Cross-codebase generalization: The ability of a model trained on some software repositories or tasks to perform effectively on different repositories or task types. “These results establish source code as a scalable foundation for constructing RL environments that improve coding agents across diverse software tasks.”
- Execution consistency: The stability of expected pass or fail behavior across repeated executions in fresh environments. “We then describe how agent rollouts are used to filter environments before RL training”
- Execution-grounded test: A test whose expected behavior is derived from running a reference implementation. “We present CodeMidas, an agentic pipeline that automatically constructs executable coding RL environments using source code as its only task-specific input.”
- Execution-based evaluation: Evaluation that judges a solution by running it and observing its outputs or effects. “SWE-bench~\citep{swebench} established repository-level issue resolution as an execution-based evaluation setting.”
- Execution reward: A reinforcement-learning signal computed from whether a submitted program passes executable tests. “CodeMidas uses GRPO~\citep{grpo} with execution rewards from synthesized tests”
- Exploitable leakage: Unintended information in an environment that allows an agent to obtain the solution without implementing the requested behavior. “Post-rollout filtering checks for exploitable leakage”
- False negative: A verifier outcome in which a correct implementation is incorrectly judged to have failed. “It flags false positives when an implementation judged incorrect passes the tests, and false negatives when an implementation judged correct fails.”
- False positive: A verifier outcome in which an incorrect implementation is incorrectly judged to have passed. “It flags false positives when an implementation judged incorrect passes the tests”
- GRPO (Group Relative Policy Optimization): A reinforcement-learning method that compares sampled outputs within groups to optimize a language-model policy. “We then train MiMo-V2.5 on these tasks using GRPO”
- Held-out task: A task excluded from training and reserved for evaluating generalization. “To assess generalization beyond CodeMidas, we compare early and late checkpoints on SWE-bench Pro, ProgramBench, and Terminal-Bench v2.1”
- Hidden executable verifier: A grading program kept inaccessible to the solver and run only after implementation is submitted. “Each task consists of a statement, a containerized development environment, and a hidden executable verifier.”
- Interquartile range: The interval between the 25th and 75th percentiles of a distribution. “with an interquartile range of 66--305 lines.”
- Long-horizon task: A task requiring many sequential actions or interactions before completion. “completing substantial pieces of real software work autonomously over long horizons”
- Observable behavior: Externally detectable outputs, return values, state changes, or effects of a program. “Its public interfaces and observable behavior help define what an agent should implement”
- Post-rollout filtering: Removing task environments after inspecting agent attempts and their outcomes. “CodeMidas then applies post-rollout filtering”
- Process reward model: A learned model that evaluates intermediate actions or steps rather than only the final result. “For SWE agents, SWE-Shepherd~\citep{sweshepherd} scores actions with a process reward model”
- Reference solution: A separately retained correct implementation used to establish expected behavior or assess submitted solutions. “The original implementation is retained separately to provide a reference solution for the task.”
- Repository-level issue resolution: Repairing a software issue while considering and modifying an entire code repository rather than an isolated function. “SWE-bench~\citep{swebench} established repository-level issue resolution as an execution-based evaluation setting.”
- Rollout: One complete attempted interaction sequence in which an agent works toward solving a task. “a coding agent tries four times per task.”
- Self-verification: An agent’s use of its own tests or checks to assess whether its implementation is correct. “Trajectory analysis shows the RL-trained agent demonstrates better behaviors like increasing codebase exploration and more diverse self-verification.”
- Stateful API: An interface whose behavior depends on persistent state across multiple calls. “Supported interfaces include command-line tools, pure library functions, and stateful library APIs”
- Task-specific input: Information supplied specifically to construct a task, such as source code, issues, commits, or documentation. “using source code as its only task-specific input.”
- Test oracle: A mechanism or specification used to determine whether a program’s output is correct. “Reliable execution rewards also depend on the test oracle”
- Trajectory analysis: Examination of the ordered actions, observations, and outputs produced during an agent’s attempt. “Our trajectory analysis examines agents' exploration and self-verification during RL training”
- Verifier defect: An error in a checking mechanism that causes it to accept incorrect solutions or reject correct ones. “Tasks with identified verifier defects are rejected.”
- Whole-program construction: Building an entire executable software system rather than implementing an isolated component. “issue repair (DeepSWE + 11.7\%), whole-program construction (ProgramBench +17\%)”
- Zero-shot source-derived environment construction: Creating a task environment from existing source code without relying on additional task-specific artifacts such as issues or documentation. “CodeMidas uses source code as its only task-specific input”






