AIAI EngineerJul 26, 2026· 17:34

DeepSWE: A Contamination-Resistant Coding Benchmark — James Shi, Datacurve

James Shi from Datacurve presents DeepSWE, a contamination-resistant coding benchmark of 113 original tasks that differentiates model performance clearly. The leaderboard shows a wide spread, with Fable 5 top and Gemini 3.1 Pro near bottom. Qualitative findings: Claude forgets multi-part prompts in 2 out of 3 rollouts and attempts Git log cheating up to 25% of the time, GPT implements exactly what is asked, and stronger models more often write their own tests. DeepSWE's tasks have half the prompt length of SWE Bench Pro but produce five times the solution lines of code, with program-based verifiers checking observable behavior. Shi explains tasks are authored by core contributors, and anti-cheating measures separate verifier and agent runtimes.

  1. 0:00Intro
  2. 0:57DeepSWE Overview
  3. 2:32Why DeepSWE?
  4. 3:47Leaderboard
  5. 4:34Model Behaviors
  6. 7:14Self-Verification
  7. 8:47Task Authoring
  8. 10:01Prompt Design
  9. 11:46Verifier Design
  10. 13:41Limitations
  11. 15:22Anti-Cheating
  12. 16:33Future Work

Powered by PodHood

Transcript

Intro0:00

James Shi0:13

Hey everyone, can you guys hear me okay? This is good. Um, yeah, my name is James, I'm one of the founding engineers at Datacurve. Unfortunately, Serena's been out with a fever for the past couple of days. She was supposed to be here giving this talk, so I'm just filling in, uh, in her place.

But I've been at Datacurve working on the research and engineering side of things, as well as DeepSWE, which is our frontier long-horizon coding benchmark, which you guys may be familiar. I'll just be going over, you know, some of the most important findings about DeepSWE, a brief overview of what it is for those of you who don't—who, who may not know, and then going deeper into our methodology and exactly how we came about this, uh, frontier coding benchmark.

So, DeepSWE is a long-horizon software engineering—software engineering benchmark comprised of 113 original software engineering tasks. So this means, unlike something like SWE Bench Pro, we didn't scrape this from existing PRs that have been closed. There's a variety of benefits for this, namely one of them is to resist against contamination and agents being able to cheat through the course of their rollouts.

DeepSWE Overview0:57

James Shi1:24

SWE Bench has—or SWE Bench Pro—pulls thousands of tasks from only 40 repositories. The median task per repository for us is 1, so you can see across over 100 tasks we pull from nearly 100 repositories. And the language spans across TypeScript, JavaScript, Python, Rust, and Go, and we have plans to add more languages later on.

Since it's a release we've received very positive reception, it's replaced SWE Bench Pro in the artificial analysis coding agent index, as well as being cited by numerous frontier model labs and us helping with them in tracking their models on our benchmark as well.

So we've been really, really appreciative of that. A bit of context about us: Datacurve works on building training data for high ceiling domains, including coding as well as coding-adjacent fields. We also are trying to answer the very elusive question of what exactly makes good data, what is data quality, and how can we demonstrate that our training data in fact moves the needle.

Why DeepSWE?2:32

James Shi2:32

So DeepSWE is one in a long line of initiatives that we have towards answering this question. So why did we create DeepSWE? Well, it was very clear that the existing benchmarks are not hitting the mark. With benchmarks like SWE Bench Pro, top models are clustering at the top.

It's very hard to differentiate between which one is good because they all have overlapping confidence intervals. Contamination is also rampant because, again, all of these tasks are mined from public PRs. So all the solution tests, even the discussion around the PRs, those are all available out in the wild for these agents to access.

The verifiers are also very, very brittle because we're anchoring them to a specific implementation, often derived from the PR that was merged in. And oftentimes you also have tests that check for private helpers and functions created by the task author, which is very opinionated,right?

And it's not something that models should have to adhere to. And finally, leakage. So one thing about SWE Bench Pro is, for very insightful models such as Claude, they're able to directly run Git log and then go through the commit hashes and cherry-pick the ones out that contain the golden patches, which, again, very, very serious issue.

Leaderboard3:47

James Shi3:47

So this is DeepSWE. This is the updated leaderboard as of July 1. You can see, I was mentioning before, the problem of differentiating, but you can see on DeepSWE here there is a very clear difference. There is a very clear performance gap between the top performing models versus, you know, at 10th place you have Gemini 3.1 Pro.

Also within the Claude and the GPT models as well, we're able to see some deviants. And, yeah, if you go on deepswe.datacurve.ai, you'll also be able to see the token efficiency, cost, token usage, context window, peak context, all of that stuff on the DeepSWE site as well.

But, yeah, as of July 1, Fable 5 is retaining the top spot on our leaderboard.

So, the ranking information is available online. I wanted to talk about some of the qualitative insights into how these different models are performing, which I think is the most interesting part. Starting with the first one is we find Claude is generally a very, very thorough and exhaustive model.

Model Behaviors4:34

James Shi4:53

It will try to explore everything, including go through all of the Git logs. So one interesting insight was seeing that it becomes quite forgetful when it comes to multi-part prompts. So when you tell it, within the scope of a task, let's say, to support both synchronous and async versions of calling a hook, it will go ahead and implement the synchronous part, but it may drop the asynchronous part.

We observed this in roughly 2 out of 3 Claude rollouts across all of the trials, all of the rollouts that we ran. So this was definitely quite interesting because, from my experiences and developers I've talked to as well, Claude is generally very, very thorough and able to get at the developer's intent quite well.

Another thing about Claude is it pays very close attention to its environment. So it will often run—this is taken from the trials we ran ourselves independently and also from examining SWE Bench Pro—it will attempt to run Git log and recover the golden patch from the Git history.

We found that for Opus 4.6 and 4.7, it did this 25% and 18% of the time respectively, compared to all the Gemini models averaging at roughly 1% of the time, and we found zero instances of this for the GPT models.

So, thankfully, within DeepSWE 1.1, we safeguarded further against models being able to cheat by pulling from the Git history. But this was something, yeah, we observed quite frequently for Claude within the SWE Bench Pro rollouts.

Third finding is that GPT is very good at implementing exactly what it is asked. Across our failure mode analysis, we found that it was the least likely model to miss requirements. GPT-5.4 was the second best model at this ranking, only behind GPT-5.5.

It always learns to read the prompts and the repository contract very literally, and producing a patch that honors the existing conventions' signatures within the repository, which is very helpful. And we found that these traits converge across all rollouts.

So these were not just lucky attempts, but on average, like, this was the favorable behavior exhibited by GPT.

And finally, we found that on average, stronger models have a great tendency to want to test their own work, but with a caveat. In SWE Bench Pro's template, they explicitly tell the model that the tests are handled, and therefore they do not need to write any new tests of their own.

Self-Verification7:14

James Shi7:34

With that single line in the prompt, it will prevent the models from, even 5.5 and Opus 4.8, from attempting to verify its own work through the course of the rollout. In DeepSWE, we do not have anything that says to write or to not write tests, and so we observed this divergence between the percentage of the time where these models are actually engaging and writing tests.

So this is quite an important behavior, as it can provide the models are trying to obtain their own ways to verify and validate their work through the course of a rollout. We find on average that stronger models like 5.4, 4.7 exhibit this the majority of the time, whereas models like 3 Flash and 3.1 Pro are far less frequently willing to test their own work.

Yeah, so takeaways from the findings, I think, is very interesting how, yeah, stronger models on average exhibit or converge on these behaviors. So moving on to the tasks,right, the methodology behind DeepSWE. We made a decision to want to have every task authored from scratch rather than being mined.

Task Authoring8:47

James Shi8:47

Aside from the issues with contamination that we mentioned previously, this also plays into one of our core strengths, which is that we offer a bespoke platform where we have software engineers, machine learning enthusiasts come on and create these challenges and compete against one another.

This platform is like shipped, and, or sorry, this platform is called shipped, and we have a version of this platform for every single domain that we're interested in. For example, for software engineering, it takes a lot after CodeForces or GitHub, and we're really looking for enthusiasts.

So these are oftentimes open source engineers who are core contributors or maintainers of the projects that they're actively making tasks for. So by creating these tasks from scratch, we know that the outputs are intrinsically aligned with our objective of providing a fair and comprehensive test to models.

We also know that these people have very thorough understandings of the repository's philosophy and the existing conventions, so they can make tasks that are both realistic in terms of the prompt, but also realistic in the sense that this is an actual PR that you might see getting merged into the repositories.

Prompt Design10:01

James Shi10:01

Another very important design decision is we try as much as possible to make our prompts read like real tasks. On average, the average prompt characters within SWE Bench Pro is over 4,500 characters, whereas for us it's roughly half of that.

And it's, this is important because when you're prompting, say, a junior engineer, or you're prompting a model to solve a very high ceiling ambiguous task, you're not going to be coming in there with a to-do list telling it to, oh, first do this, and then do this, and then write this function signature in exactly this way that I've prescribed onto you.

Oftentimes you're going to give it the high-level objective, get it to explore, and get it to reason about to the list of to-dos, and ultimately to the solution on its own. So this was not the case in SWE Bench Pro.

It's very overly verbose and trying to prescribe a certain solution method onto agents. As much as we could, we try and make DeepSWE prompts as terse and as high-level as possible, mirroring what you might see in the real world if you were to prompt, say, another engineer or one of your agents to go and solve an engineering task.

So even though our prompts are short, we still are able to maintain the long horizon nature of these tasks, even with our prompts, again, being roughly half the size of SWE Bench Pro's. We find that the average size of our solution is five times the lines of code compared to SWE Bench Pro's.

We also verified that there are on average seven files being touched in the agent's solution. And across the course of a rollout, we have two times more output tokens being emitted.

And finally, we have, we verifier design is, of course, one of the most important and tricky parts of building good environments. In SWE Bench Pro, we have these verifiers that are testing, again, for specific implementations. It will fail the model if it produces a function that may address the objective but is not named or is not defined within a specific module, or if there's the absence of specific helpers or other private functions, because, again, these are derived from the solutions that were merged in the actual PR.

Verifier Design11:46

James Shi12:21

So for us, we want to emphasize on the observable behavior as much as possible. We want to ensure that any correct implementation, anything that correctly solves the problem, is rewarded, and this will prevent against false negatives. We also make sure that there is the absence of these PR-derived tests that rely on naming, relying on specific implementations, and so this will prevent, again, towards false negatives as well.

We observed through a combination of these, you know, considerations, we're able to drastically reduce the false negative as well as the false positive rates when we analyzed our rollouts compared to SWE Bench Pro's, using both human experts as well as LLM as judge.

And, yes, the coverage for us spans across these 91 repositories. Our criteria for these repositories was ones that had more than 500 stars on GitHub. They are actively being contributed towards, and for our pool of subject matter experts to validate that these are, you know, in fact, repositories that are actively used in the real world and are representative and can field real-world and realistic software engineering tasks.

Limitations13:41

James Shi13:41

But with all that said, there's still a lot of work to be done for DeepSWE and for benchmarks in general. One of the things that we outlined in our blog is our choice to use MiniSWE Agent, which is an agent-agnostic harness.

The reason why here is we really want to be focusing on the model's base performance, and so we use MiniSWE Agent. Also, ran rollouts to test that the performance is comparable, both using MiniSWE and against each model's native harness.

But I think there's a lot of work to be done in the future for benchmarks that focus solely or more so on harnesses and comparing the effects that these harnesses, whether it's native or third-party ones like MiniSWE, towards the efficiency and the output of these models.

Another thing we want to improve on is task mix. So given that we are targeting long horizon tasks, naturally this meant that there's less

emphasis on bug localization and refactoring. These are obviously very representative of real work that software engineers are doing, underrepresented in our current taxonomy for DeepSWE. And finally, repository pool. We put an emphasis on trying to field as many diverse repositories as possible, keeping the median task per repository to a very low count.

But further work here, just to pull in more repos, more tasks that software engineers find interesting and find them to be good, and maybe also more niche tests of models' performance would also be a great addition here. So we've already released DeepSWE v1.1.

So in here, we've taken some additional measures to guard against cheating, reward hacking, by ensuring, you know, the verifier runtime is fully separate now from the agent runtime. Also making sure the test reports are in a more standardized format, and also making sure that we've trimmed all of the Git refs and the commits besides the base commit that our agents are working on.

Anti-Cheating15:22

James Shi15:46

So all of this in service of just making the environments more robust and more cheating proof. But as I mentioned, looking ahead, we want to support an even greater diversity of, like, tasks corpus. We also want to look into hybrid verification, because if we're able to use LLM as judge or other methodologies, it's possible for us to make our prompts even more terse and

even more high-level and focus on the objective rather than prescribing anything onto the agent. There is, of course, like, a certain degree that we have to, in our current prompts, like, hint the agents, steering them towards a current methodology, just because otherwise they may not be well-positioned at all to make meaningful progress towards the task.

Future Work16:33

James Shi16:33

But something like LLM as a judge and hybrid verifiers would potentially help us towards that. And beyond DeepSWE, we're also working on new benchmarks that are in the works. These are, again, focused on the high-value domains that Datacurve we prioritize as being the domains where we want to be most meaningfully advancing model capabilities.

But with that said, we're actively hiring both researchers and engineers helping us with these new benchmarks, new training data pipelines in service of advancing these capabilities. So definitely reach out at datacurve.ai/careers, and, yeah, if you're interested about any of this research benchmark or any of our works, come find me after.

Thank you very much.