Coding · Evaluator card
SWE-bench
2023Carlos E. Jimenez et al.Paper (opens in a new tab)
A benchmark of real-world software engineering tasks drawn from actual GitHub issues and pull requests in popular Python repositories. Models must generate patches that resolve genuine issues and pass the corresponding test suites.
Evidence notes pending review. The verdicts on this card are drafts derived from the benchmark's documentation and published sources; no reviewer has checked them against those sources yet.
Headline claim
SWE-bench Verified resolve rates support comparing complete agent systems (model plus scaffold) on fixing real issues in 12 popular open-source Python repositories, as judged by the fix's own tests; they do not isolate model capability or extend to other languages or closed codebases.
At a glance
- Mechanism
- Execution / effect checkerPrior: execution feedback, rung 2 of 4
- Item format
- Code
- Size
- 2,294 task instances (Verified: 500)
- Typical uses
- Measure, Optimize
- Saturation
- Active
- Contamination
- High risk
- Year
- 2023
1Claim
What property are we trying to infer, over what world, and for what decision?
- Construct
- Practical software maintenance: diagnosing a reported issue in a real codebase and producing a working fix
- Population
- Real GitHub issues and the merged pull requests that fixed them in 12 popular Python repositories; the 500-task, human-screened Verified subset is the usual reporting set
- Measures
- Ability to understand real codebases, diagnose issues, and produce working fixes
- Software engineering competence including code navigation, debugging, and patch generation
- Performance on authentic tasks sourced from open-source Python project histories
- End-to-end problem-solving from issue description to validated code change
- Practical utility as a coding assistant on realistic software maintenance tasks
- Does not measure
- Greenfield software development or architectural design ability
- Performance on languages other than Python or on non-open-source codebases
- Code review quality, documentation writing, or collaborative engineering skills
- Efficiency or resource usage of the generated solutions
2Instrument
How is the judgment actually produced?
- Mechanism
Execution / effect checker
The patch is applied in a containerized copy of the repository at the pre-fix commit and the specified tests are run. Passing means no tested counterexample; behavior the tests do not cover goes unchecked.
Hierarchy prior: execution feedback, rung 2 of 4. A prior over expected grounding, not a verdict on validity: the evidence notes under Validation say what has been measured.
- Item format
- Code
- Specification
- A task is resolved when, after the generated patch is applied, the tests that the reference pull request made pass now pass and the previously passing tests still pass.
- Anchor
- Tests from the merged reference pull request (fail-to-pass) plus the repository's existing passing tests (pass-to-pass)
- Evidence view
- The repository state after the patch, observed only through test outcomes; the agent's trajectory is not graded
- Signal
- Binary resolved/unresolved per task
- Resolution
- Final patch per task
- Aggregation
- Percentage of tasks resolved
- Metrics
- % resolved
- Size
- 2,294 task instances (Verified: 500)
- Methodology
- Collects task instances from 12 popular Python repositories by identifying merged pull requests that fix issues and have associated test changes. Each instance provides the issue description, repository state before the fix, and test cases added by the PR. Models must generate a patch that, when applied, makes the failing tests pass without breaking existing tests. SWE-bench Verified is a human-validated subset of 500 instances with confirmed solvability.
3Regime
What causal role does the signal play, and what happens when a system adapts to it?
- Typical uses
- Measure · supports inference and decision
- Optimize · shapes the candidate or policy distribution
- Exposure
- Tasks are public and the reference fixes sit in public repository histories, so pretraining contamination is likely for fixes that predate a model's cutoff. Verified is the headline agentic-coding number in model releases and on a public leaderboard, and scaffolds are tuned against it; the same issue-plus-tests format is widely used to build training environments. All grading tests are public.
- Notes
- Scores describe whole systems: the same model can score very differently across scaffolds, retrieval strategies, tool budgets, and attempt counts. Report all of them with every score.
4ValidationDraft
Why should we believe that the signal means what we claim it means — before and after the system adapts to it?
SWE-bench's evidence supports claims about real software-maintenance capability more directly than function-level benchmarks, because it grades fixes to real issues with the repositories' own tests; the human-screened Verified subset addresses quality problems in the original set. Scores reflect the entire agent system — scaffolding, retrieval, and tool use — as much as the underlying model, so they support system comparisons more readily than pure model comparisons.
Evidence notes2 partially supported · 1 not supported · 1 untested
- Partially supported
Tasks are solvable and fairly graded
Human screening of a sample of the original set flagged 38.3% of tasks as underspecified and 61.1% as having tests that could reject valid fixes; 68.3% were filtered out, leaving the 500-task Verified subset, on which the same model scored about twice as high. Invalid tasks can understate capability.
Source: OpenAI, 2024 (Introducing SWE-bench Verified)
- Partially supported
Passing the tests means the issue is correctly fixed
The reference pull request's tests ground the verdict in executed behavior, but they cover only what the original fix tested; a patch can pass while being incomplete or wrong elsewhere.
- Not supported
Scores isolate model capability
Scaffolding and agent infrastructure differ across submissions, so results compare systems rather than models.
- Untested
Results transfer to other languages and closed codebases
All tasks are Python, from well-maintained, well-tested open-source projects.
5Lifecycle
Does the validity survive over time, and are we still evaluating the right thing?
- Saturation
- Active
Whether top systems still differ, or crowd the ceiling.
- Contamination
- High risk
How likely test items, or close variants, have leaked into training data.
- Successors
- None listed
- Last reviewed
- Not yet reviewed · card updated October 12, 2026
Limitations
- Python-only, limiting generalization claims about software engineering ability broadly
- Task difficulty is highly variable — some issues are trivial one-line fixes while others require deep understanding
- Repository selection biases toward well-maintained, well-tested open-source projects
- Scaffolding and agent infrastructure differences make it hard to compare raw model capability versus system engineering
- The full set includes some unsolvable or ambiguous tasks, making SWE-bench Verified the preferred variant
When to use
- Evaluating practical software engineering capability in a realistic setting
- Comparing coding agents on authentic bug-fixing and feature implementation tasks
- Assessing whether a model or agent system can contribute meaningfully to real software maintenance
When not to use
- Evaluating general code generation ability on algorithmic problems — use LiveCodeBench for that
- When you need language-agnostic coding evaluation
Related benchmarks
- HumanEvalCoding · 2021A set of 164 hand-written Python programming problems with function signatures, docstrings, and unit tests. It was the first widely-adopted code generation benchmark but is now far too easy and small to be informative.
- MBPPCoding · 2021Mostly Basic Python Programming contains 974 crowd-sourced Python programming tasks designed to be solvable by entry-level programmers. It complements HumanEval with more problems but at a similar or lower difficulty level.
- LiveCodeBenchCoding · 2024A code generation benchmark built to resist contamination: it continuously collects new problems from competitive programming platforms (LeetCode, Codeforces, AtCoder) and scores models on problems released after their training cutoffs. It evaluates code generation, self-repair, code execution, and test output prediction.