News for hackers. Stuff that matters.
Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by juujian on Tuesday April 09, 2024 @07:58AM (#39978497)
And the other 78% of time it just creates a bunch of noise that someone has to sift through?
Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by arp242 on Tuesday April 09, 2024 @08:15AM (#39978595)
Here's a list of all the successful and unsuccessful patches: https://gist.github.com/arp242/0dc5dab0f7cd10e663cfc26866651...

Ideally, it should also include the problem statement, but that's not in their JSON file and can't arsed to continue working on it – it's just a quick script I cooked up.

I find it very hard to judge the quality of most of these patches because I'm not familiar with these projects.

However, looking at the SWE-bench dataset I don't think it's representative of real-world issues, so "22% of real-world GitHub issues" is not really accurate regardless.

Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by wsdookadr on Tuesday April 09, 2024 @08:23AM (#39978647)
What makes you say it's not representative?
Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by arp242 on Tuesday April 09, 2024 @08:32AM (#39978719)
Look at the data. Does that seem like the average bug report to you?
Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by falcor84 on Tuesday April 09, 2024 @08:35AM (#39978738)
It would help if you were to provide a specific example or two
Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by arp242 on Tuesday April 09, 2024 @10:57AM (#39980141)
You can't demonstrate whether a dataset is representative or not by "an example or two". You need to look at all the data.

And all of this is fine. It's just a benchmark suit and doesn't need to be fully representative. The dataset itself doesn't even claim to be that as far as I can find. All I'm saying that the title wasn't really accurate.

Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by skywhopper on Tuesday April 09, 2024 @10:21AM (#39979722)
SWE-bench Lite is a subset of extremely simple issues from a cherry-picked subset (SWE-bench) of a handful of large (presumably well-run) Python-only projects.

Here are some rules they used to trim down the SWE-bench Lite problems:

* We remove instances with images, external hyperlinks, references to specific commit shas and references to other pull requests or issues.

* We remove instances that have fewer than 40 words in the problem statement.

* We remove instances that edit more than 1 file.

* We remove instances where the gold patch has more than 3 edit hunks (see patch).

See https://www.swebench.com/lite.html

Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by kevindamm on Tuesday April 09, 2024 @05:05PM (#39984250)
That's... rather limiting.
Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by yuntong on Tuesday April 09, 2024 @09:13AM (#39979089)
The problem statement of each issue is included in each result folder as `problem_statement.txt` (such as: https://github.com/nus-apr/auto-code-rover/blob/main/results...).

The developer patch for each issue is similarly included as `developer_patch.diff`.

Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by DalasNoin on Tuesday April 09, 2024 @08:29AM (#39978699)
Just about a week ago open devin got about 13% on this benchmark. Just give it a few more weeks.

edit: apparently it's not the exact same benchmark but a similar one

Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by moolcool on Tuesday April 09, 2024 @08:55AM (#39978901)
If it continues at this pace, then it'll solve 108% of GitHub issues in just 3 months
Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by wsdookadr on Tuesday April 09, 2024 @08:25AM (#39978661)
There's actual SWE jobs where humans sift through this kind of noise. Someone told me they worked such a job recently. It's a good tool to add pressure and raise expectations. Maybe this is the future..
Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by skywhopper on Tuesday April 09, 2024 @10:25AM (#39979770)
They only know the 22% number because unit tests to check for a fix are included in the benchmark. In other words, in a real world situation, the human would still need to double check. The patches this tool generates do not include appropriate tests or explanations and would never pass code review by a qualified human.
Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by egeozcan on Tuesday April 09, 2024 @08:09AM (#39978556)
That's in my experience better than the percentage of although usually good-intentioned but nevertheless unusable PRs popular repositories get.
Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by ectopasm83 on Tuesday April 09, 2024 @08:10AM (#39978565)
The point is that the success rate is progressing, paper after paper

> The baseline results of Magis (10%), Devin (14%) are evaluated in another subset of SWE-bench, which we cannot directly compare with, so we take the results from their technical reports as a reference.

Wondering how it compares with these models.

Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by invalidusernam3 on Tuesday April 09, 2024 @09:50AM (#39979428)
Why not use AutoCodeRover, Magis, and Devin together for 46%

/s

Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by yourapostasy on Tuesday April 09, 2024 @08:21AM (#39978641)
In short, no.

The ArXiv paper mentions the human developer must supply a unit test (which can conceivably be coded with at least the assistance of an AI agent if not autonomously coded, but their experiment relies upon the former kind of unit test) that issues a pass-fail signal. So the 78% of failures are clearly identified, at the cost of implementing TDD for the Issue. The side effects story is punted upon, but I’d still take this over the nothing we have today.

Of course, over a relatively short amount of time using this, I’d expect to experience the 22% (or whatever the real rate is) success rate to drop asymptotically towards zero as the low hanging fruit of the approach are mined out and it becomes kind of like another linter in our CICD pipelines.

The impact of this tooling upon staff skills development will be interesting to say the least.

Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by yuntong on Tuesday April 09, 2024 @08:52AM (#39978877)
AutoCodeRover does not require or assume a unit test to generate patches. The results discussed in Section 6.1 of the ArXiv paper are generated without any unit test. The unit tests are used by SWE-bench, when evaluating the correctness of AutoCodeRover-generated patches.

That being said, when some unit tests are available (either written by developers or with assistance from other tools), AutoCodeRover can make use of them to perform some analysis like Spectrum-based Fault Localization (SBFL). This kind of analysis output can help the agent in pinpointing locations to fix. (Please see Section 6.2 for the analysis on SBFL.)

Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by dboreham on Tuesday April 09, 2024 @09:49AM (#39979418)
> AutoCodeRover does not require or assume a unit test to generate patches.

You have this backwards : it's traditional (at least in the past 15 years or so) to have a test to go along with every code change. The idea is that the test proves a) the bug existed prior to the fix and b) the bug is not there after the fix is applied. Commenters here are noting that ACR generates fixes but not tests.

Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by yuntong on Tuesday April 09, 2024 @10:48AM (#39980047)
The previous comment was to describe the experiment settings. AutoCodeRover currently generates patches. Auto-generating high quality tests can be a parallel effort and another direction to explore. These efforts can eventually be used together.
Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by dboreham on Tuesday April 09, 2024 @03:55PM (#39983542)
The point is that a patch without a test is not generally a useful thing. How do we know the AI generated patches are valid?
Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by nfm on Tuesday April 09, 2024 @04:20PM (#39983801)
I agree in principle, but if it also generated a test, how would you know that was valid?

The value I get from copilot is the ability to code faster, not the ability to code.

Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by abhikrc on Wednesday April 10, 2024 @01:38AM (#39987306)
We know that by testing the patches. Automated Program Repair is an area of research which has done this.

The patches are tested against a test-suite. So, if there are tests, we welcome them, we definitely use them to validate the patches.

Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by abhikrc on Tuesday April 09, 2024 @09:40AM (#39979325)
The short answer is that unit tests are not needed in AutoCodeRover. The technique proceeds by a sophisticated code search starting from the Github issue. tests are not needed. The code search helps in setting the context for LLM agents - which can help in the patch construction.

If tests are available, they can give additional help in setting code context. But tests are not needed, and most of Github issues are solved without tests.

All experimental numbers appear in the arxiv paper. Please let us know if you have more questions.

Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by dboreham on Tuesday April 09, 2024 @09:48AM (#39979397)
> tests are not needed

Strong words!

Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by Morelesshell on Tuesday April 09, 2024 @08:46AM (#39978834)
if a ticket is open and AutoCodeRover just says "was unable to find something" its still better to have 22% fixed automatically.
Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by skywhopper on Tuesday April 09, 2024 @10:22AM (#39979740)
But it doesn’t say that. It submits a patch that doesn’t solve the problem instead.
Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by maleldil on Tuesday April 09, 2024 @03:40PM (#39983352)
LLMs are unable to say that they don't know something. They just generate nonsense.
Re:AutoCodeRover resolves 22% of real-world GitHub issues in... by skywhopper on Tuesday April 09, 2024 @10:15AM (#39979663)
Yes, and to be clear, the benchmark used here is merely the 300 simplest problems in the larger benchmark suite, which itself is only a tiny subset of issues from a dozen large (and presumably well-curated) Python projects.

Not to mention that making the code fix is only a tiny part of resolving an issue. There should also be explanations and added test cases. In other words, I doubt the 22% of “fixes” would pass review by the project owner if a human submitted them.