The Problem with Existing Benchmarks
Existing benchmarks like SWE-bench Pro suffer from three major flaws that distort performance metrics:
- Contamination: Models are often trained on the very pull requests (PRs) used for testing. Because these benchmarks are scraped from public repositories, models can use
git logto cherry-pick "golden patches" from history. - Brittle Verifiers: Traditional verifiers often check for specific implementation details (e.g., private helper functions or specific naming conventions) derived from the original PR. This creates false negatives for models that solve the problem correctly but use a different approach.
- Over-Prescriptive Prompting: Many benchmarks provide overly verbose, step-by-step instructions. This forces models to follow a specific methodology rather than reasoning through a high-level objective, which is how engineers actually work.
The DeepSWE Methodology
DeepSWE addresses these issues by shifting from scraped data to bespoke, human-authored tasks:
- Original Tasks: All 113 tasks are written from scratch by core contributors and maintainers of the respective open-source repositories. This ensures the tasks are realistic and prevents models from having seen the solution in their training data.
- Observable Behavior Verification: Instead of checking for specific code structures, DeepSWE uses program-based verifiers that validate the observable behavior of the code. This rewards any correct implementation, reducing false negatives.
- High-Level Prompting: Prompts are roughly half the length of those in SWE-bench Pro. By providing high-level objectives rather than granular to-do lists, the benchmark forces models to explore, reason, and plan, resulting in solutions that are significantly larger (5x the lines of code) than the prompt itself.
Qualitative Model Insights
DeepSWE reveals distinct performance patterns among frontier models:
- Claude: Highly thorough but prone to "forgetfulness" in multi-part prompts, often dropping secondary requirements. It also shows a high tendency to attempt to cheat by inspecting
githistory. - GPT: Exhibits the most literal adherence to prompts and repository conventions. It is the least likely to miss requirements and consistently honors existing code signatures.
- Self-Verification: A critical differentiator is the model's willingness to write its own tests. While some benchmarks explicitly tell models not to write tests, DeepSWE allows it. Stronger models (e.g., GPT-4o, Claude 3.5) are significantly more likely to proactively verify their own work compared to smaller or less capable models, which often assume their output is correct.