← Latest papers
🤖 AI

Understanding the Rejection of Fixes Generated by Agentic Pull Requests -- Insights from the AIDev Dataset

This paper analyzes the AIDev dataset to identify 14 specific reasons why nearly half of AI-generated pull requests are rejected, categorizing these failure modes to provide actionable guidance for improving agent performance, task prioritization, and integration into software development workflows.

Original authors: Mahmoud Abujadallah, Ali Arabat, Mohammed Sayagh

Published 2026-06-12
📖 4 min read☕ Coffee break read

Original authors: Mahmoud Abujadallah, Ali Arabat, Mohammed Sayagh

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 you hire a team of super-fast, hyper-enthusiastic robot interns to fix bugs in your software. You give them a problem, and they immediately start typing code, building a "Pull Request" (which is like a proposal to change the code).

This paper is basically a report card on what happens when these robot interns (specifically Copilot, Devin, Cursor, and Claude) try to fix things. The researchers found a startling statistic: nearly half of the time (46.41%), the human boss throws the robot's work in the trash.

Here is a breakdown of why this happens, using simple analogies:

The Big Problem: The "Wasted Effort" Bill

Every time a robot generates a fix that gets rejected, it's a double loss. First, the robot wastes its own "brain power" (computing resources and tokens). Second, and more importantly, a human has to stop what they are doing, read the robot's messy work, realize it's wrong, and write a comment explaining why. That is wasted human time.

The researchers looked at 306 of these rejected proposals to figure out exactly why the humans said "No." They found four main reasons for the rejection:

1. The "Wrong Tool for the Job" (Implementation Issues)

Sometimes the robot tries to fix the problem, but it uses the wrong approach.

  • The Analogy: Imagine your car won't start. You ask a mechanic to fix it. They show up and try to fix the radio instead of the engine, or they try to fix the engine with a hammer instead of a wrench.
  • What happened: The robots often misunderstood the instructions, fixed the wrong thing, or proposed a solution that was technically impossible or incomplete.

2. The "Broken Test" (Technical Issues)

In software, before a fix is accepted, it has to pass a series of automated tests (like a safety inspection).

  • The Analogy: The robot builds a new bridge, but when the inspector drives a truck over it, the bridge collapses. The robot didn't check if its own bridge could hold weight.
  • What happened: The code the robots wrote often failed the automated "safety tests" (CI pipelines) or broke other parts of the software that were already working.

3. The "Ghost Intern" (Provider Issues)

Sometimes the robot just stops working or gets cut off.

  • The Analogy: You ask the intern to write a report, but halfway through, the intern walks out of the building, or the internet connection cuts out, leaving you with a blank page.
  • What happened: The AI service itself crashed, the robot got "rate-limited" (ran out of allowed requests), or the session simply died before it could finish the job.

4. The "Useless Fix" (Relevance Issues)

Sometimes the robot is working on a problem that doesn't matter anymore.

  • The Analogy: You ask the intern to fix a leak in the kitchen. By the time the intern finishes the repair, the kitchen has been remodeled, and the leak is gone, or someone else already fixed it with a better method.
  • What happened: The issue the robot was fixing was low priority, the problem was already solved by someone else, or the robot sat idle for so long that the project moved on without it.

The "Cost" of the Mistake

The paper also measured how much "mess" the robots made before being rejected.

  • Code Churn: This is a fancy way of saying "how much code was written and then deleted." The researchers found that rejected fixes involved a median of 81 to 293 lines of code. That's a lot of typing for a mistake!
  • Comments: Humans had to write an average of 1 to 4.5 comments to explain why the fix was bad. Since almost half of all robot fixes are rejected, that means half of all the human comments written to these robots are just saying, "No, this doesn't work."

The Takeaway: How to Train the Interns Better

The authors suggest that to stop wasting time, humans need to give the robots better instructions before they start working. Specifically:

  1. Give a Map: Tell the robot exactly how to fix the problem and what not to do.
  2. Set Up the Test: Tell the robot how to check its own work to make sure it passes the safety tests before showing it to the boss.
  3. Pick the Right Jobs: Don't ask the robot to fix tiny, unimportant bugs that aren't worth the human review time.

In short: AI agents are powerful, but right now, they are like enthusiastic interns who need very clear, specific instructions to avoid wasting everyone's time and energy.

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 →