← Latest papers
💬 NLP

Change2Task: From Repository Changes to Executable Coding Agent Tasks and Environments

The paper introduces Change2Task, a system that automatically converts merged pull requests into verified, executable coding agent tasks by reconstructing historical repository states and validating them on modern codebases, thereby significantly increasing the supply of training data while reducing setup costs and improving task recovery rates compared to existing baselines.

Original authors: Haomin Qi, Xingliang Wang, Xuanqi Gao, Baihui Sang, Xin Zhang, Minghua Ma, Pengfei Gao, Yu Kang, Qingwei Lin, Saravan Rajmohan, Dongmei Zhang, Qi Zhang

Published 2026-07-31
📖 4 min read☕ Coffee break read

Original authors: Haomin Qi, Xingliang Wang, Xuanqi Gao, Baihui Sang, Xin Zhang, Minghua Ma, Pengfei Gao, Yu Kang, Qingwei Lin, Saravan Rajmohan, Dongmei Zhang, Qi Zhang

Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

Imagine a world where computers are learning to be software engineers. These "coding agents" are like digital apprentices that don't just write a single line of code and stop; they can open a project, read the files, fix a bug, run tests, and try again if they fail. But here's the catch: to get really good at this, these apprentices need to practice on real-world problems. They need a massive library of "exercises" where they can try to fix a broken feature or add a new one, and then get a clear "pass" or "fail" grade.

The problem is that creating these practice exercises is incredibly hard and expensive. Usually, to make a test, you have to build a perfect, isolated computer environment (like a digital sandbox) for every single problem. If you want 1,000 different coding challenges, you might need to build 1,000 different sandboxes, which takes up huge amounts of storage space and time. It's like trying to teach someone to cook by building a brand-new, fully stocked kitchen for every single recipe you want them to learn. It's so much work that we run out of practice problems, and the agents can't get the training they need to become experts.

This is where a new idea called Change2Task comes in. Think of it as a magical time machine for code. Instead of building a new kitchen for every recipe, Change2Task looks at the history of a real software project—like a giant logbook of every time a human developer fixed a bug or added a feature in the past. It takes those old, real-life stories and asks: "Can we recreate this exact same challenge, but on the current version of the software?"

The system works like a clever editor. It finds a "merged" pull request (which is just a fancy term for a change that was already accepted and added to the code) and tries to reverse-engineer it. It asks the computer to "undo" that change to create a broken state, then sets a goal for the coding agent to fix it again. But here's the magic trick: instead of starting from scratch, it does this on a modern, healthy version of the software that is already running. If the software has changed a lot since the original fix, Change2Task uses three different strategies to map the old fix onto the new code:

  1. Patch Reversal: If the code hasn't changed much, it just flips the old fix backward.
  2. Code Mapping: If the code moved around, it finds the new location of the old code and swaps it out.
  3. Agent Reconstruction: If the code is totally different, it uses a smart AI agent to figure out how to recreate the problem in the new environment.

The researchers tested this on five common types of coding tasks: fixing bugs, adding new features, writing new tests, updating old tools (APIs), and patching security holes. They started with 1,130 real-world changes from public software projects. The system successfully turned 900 of them into working, verified practice tasks. That's a success rate of about 80%.

What makes this really exciting is how much it saves. By reusing the same modern "kitchen" (the software environment) for multiple different practice problems, they reduced the time needed to set up environments by 58.4% and cut the storage space needed by 71.2%. In fact, they managed to create 29.2% more verified tasks than a previous method that just tried to copy old fixes directly.

The team also checked if these recreated tasks were fair. They asked different AI coding agents to solve the problems on both the original historical version and the new modern version. The results were almost identical: the agents got the same "pass" or "fail" grade 98% of the time. This proves that the new tasks aren't just random guesses; they are faithful recreations of real developer work.

In short, Change2Task doesn't just find more practice problems; it finds a way to make the ones we already have reusable and efficient. It turns the history of software development into a renewable resource for training the next generation of AI coders, proving that we don't need to build a new world for every lesson—we just need to know how to look at the old one with fresh eyes.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →