logoOproAI
SWE-bench +Blur image

SWE-bench is a benchmark for evaluating large language models on real world software issues collected from GitHub. Given a codebase and an issue, a language model is tasked with generating a patch that resolves the described problem. SWE-bench Verified is a human-validated subset that more reliably evaluates AI models’ ability to solve issues. International Olympiad in Informatics (IOI) competition features standardized and automated grading.

🏆 Leaderboard#

ModelSWE-benchIOIOrganizationLicense
Claude Opus 59791.7AnthropicProprietary
DeepSeek-V4-Pro96.4DeepSeekMIT
GPT-5.6 Sol96.286.7OpenAIProprietary
Grok 4.695.6xAIProprietary
GLM-5.395.4Z.aiMIT
Claude Fable 59572.3AnthropicProprietary
Kimi K393.4MoonshotKimi K3
DeepSeek-V4-Flash88.8DeepSeekMIT
Claude Opus 4.888.6AnthropicProprietary
Grok 4.586.6xAIProprietary
Muse Spark 1.286.649.5MetaProprietary
Qwen3.8-Max85.673AlibabaQwen3
GLM-5.282.8Z.aiMIT
GPT-5.582.6OpenAIProprietary
Claude Opus 4.78247.1AnthropicProprietary
Muse Spark 1.182MetaProprietary
Claude Sonnet 579.8AnthropicProprietary
Gemini 3.6 Flash79.8GoogleProprietary
Gemini 3.1 Pro79.8GoogleProprietary
Qwen3.7-Max79.446.8AlibabaProprietary
GPT-5.479.267.8OpenAIProprietary
Claude Opus 4.679.236.3AnthropicProprietary
Kimi K2.778.2MoonshotModified MIT
Gemini 3 Flash76.239.1GoogleProprietary
Grok 4.2076.230.2xAIProprietary
Claude Sonnet 4.676.221.5AnthropicProprietary
GPT-5.3-Codex75.254.8OpenAIProprietary
Gemini 3 Pro74.438.8GoogleProprietary
GLM-5.174.432Z.aiMIT
Claude Opus 4.574.423.6AnthropicProprietary
Kimi K2.674.2MoonshotModified MIT
GPT-5.272.843.8OpenAIProprietary
GLM-572.822Z.aiMIT
MiniMax M2.572.86.7MiniMaxApache 2.0
Kimi K2.570.817.7MoonshotModified MIT
Grok 470.626.2xAIProprietary
Claude Sonnet 4.570.618.5AnthropicProprietary
GPT-5.170.521.5OpenAIProprietary
GPT-570.120OpenAIProprietary
Claude Opus 4.170.115.2AnthropicProprietary
DeepSeek-V3.27014.4DeepSeekMIT
Qwen3-Max69.615.7AlibabaProprietary
Claude Haiku 4.568.86.2AnthropicProprietary
Claude Sonnet 4686.5AnthropicProprietary
Claude Opus 467.6AnthropicProprietary
Qwen3-Coder-480B-A35B-Instruct67AlibabaApache 2.0
DeepSeek-V3.166DeepSeekMIT
Kimi K265.41.3MoonshotModified MIT
GPT-5 (medium)65OpenAIProprietary
GLM-4.564.2Z.aiMIT
GPT-5 mini59.8OpenAIProprietary
o358.4OpenAIProprietary
GLM-4.5-Air57.6Z.aiMIT
Gemini 2.5 Pro53.617.1GoogleProprietary
Claude 3.7 Sonnet52.8AnthropicProprietary
Qwen3-Coder-30B-A3B-Instruct51.6AlibabaApache 2.0
GPT-4.148.6OpenAIProprietary
o4-mini455.3OpenAIProprietary
DeepSeek-R1-052841.4DeepSeekMIT
DeepSeek-V3-032438.81.7DeepSeekMIT
GPT-5 nano34.8OpenAIProprietary
Gemini 2.5 Flash28.73.9GoogleProprietary
GPT-4.1 mini23.9OpenAIProprietary
GPT-4o21.6OpenAIProprietary
Llama 4 Maverick Instruct21MetaLlama 4
Gemini 2.0 Flash13.5GoogleProprietary
Llama 4 Scout Instruct9.1MetaLlama 4
Qwen2.5-Coder-32B-Instruct9AlibabaApache 2.0

SWE-bench Verified (100 turns)

IOI Benchmark

swe

👋 Overview#

SWE-bench tests AI systems’ ability to solve GitHub issues.

We collect 2,294 task instances by crawling Pull Requests and Issues from 12 popular Python repositories. Each instance is based on a pull request that (1) is associated with an issue, and (2) modified 1+ testing related files.

Per instance, we construct an execution environment (Docker Image) with the repository successfully installed at the commit that the Pull Request is based on. Without the Pull Request’s changes, a number of test(s) fail. After the Pull Request is merged, the same set of test(s) pass. These “Fail-to-Pass” tests are the primary signal for evaluation.

SWE-bench evaluation works as follows. Per task instance, an AI system is given the issue text. The AI system should then modify the codebase in order to resolve the described issues. When the AI system is finished, we run the aforementioned Fail-to-Pass tests to check if the issue was successfully resolved.

Code and data for the following works:

🚀 Set Up#

SWE-bench uses Docker for reproducible evaluations. Follow the instructions in the Docker setup guide to install Docker on your machine. If you’re setting up on Linux, we recommend seeing the post-installation steps as well.

Finally, to build SWE-bench from source, follow these steps:

git clone git@github.com:princeton-nlp/SWE-bench.git
cd SWE-bench
pip install -e .
bash

Test your installation by running:

python -m swebench.harness.run_evaluation \
    --predictions_path gold \
    --max_workers 1 \
    --instance_ids sympy__sympy-20590 \
    --run_id validate-gold
bash

ℹ️ Note

If using a MacOS M-series or other ARM-based systems, add --namespace '' to the above script. By default, the evaluation script pulls images (built for Linux) from DockerHub. Adding --namespace '' will cause evaluation images to be built locally instead.

💽 Usage#

Evaluate patch predictions on SWE-bench Lite with the following command:

python -m swebench.harness.run_evaluation \
    --dataset_name princeton-nlp/SWE-bench_Lite \
    --predictions_path <path_to_predictions> \
    --max_workers <num_workers> \
    --run_id <run_id>
    # use --predictions_path 'gold' to verify the gold patches
    # use --run_id to name the evaluation run
    # use --modal true to run on Modal
bash

This command will generate docker build logs (logs/build_images) and evaluation logs (logs/run_evaluation) in the current directory.

The final evaluation results will be stored in the evaluation_results directory.

⚠️ Warning

SWE-bench evaluation can be resource intensive We recommend running on an x86_64 machine with at least 120GB of free storage, 16GB of RAM, and 8 CPU cores. We recommend using fewer than min(0.75 * os.cpu_count(), 24) for --max_workers.

If running with Docker desktop, make sure to increase your virtual disk space to ~120 free GB. Set max_workers to be consistent with the above for the CPUs available to Docker.

Support for arm64 machines is experimental.

To see the full list of arguments for the evaluation harness, run:

python -m swebench.harness.run_evaluation --help
bash

✍️ Citation#

If you find our work helpful, please use the following citations.

SWE-bench +
https://www.oproai.com/blog/swe-bench/
AuthorSWE-bench
Published atAugust 01, 2025
LicenseMIT