Skip to content

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

  1. 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)

  2. 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.

  3. Not supported

    Scores isolate model capability

    Scaffolding and agent infrastructure differ across submissions, so results compare systems rather than models.

  4. 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

Handbook case studies