SWE-Bench-ProMax is a multi-language benchmark for repository-level software issue resolution, accepted to COLM 2026. All task instances are collected from real-world GitHub issues created after 2025, substantially reducing the risk of training-data contamination for contemporary language models. Each instance provides a task description, repository metadata, a reference patch, an evaluation test patch, and container-oriented metadata for reproducible, patch-based evaluation.
1
14 commits
1 linked in READMEs
updated Aug 26, 2026
π Paper Β· π Dataset Β· βοΈ Evaluation Β· π¬ Contact
SWE-Bench-ProMax is a multi-language benchmark for repository-level software issue resolution, accepted to COLM 2026. All task instances are collected from real-world GitHub issues created after 2025, substantially reducing the risk of training-data contamination for contemporary language models. Each instance provides a task description, repository metadata, a reference patch, an evaluation test patch, and container-oriented metadata for reproducible, patch-based evaluation.
We are actively maintaining this benchmark: a v2 release is under preparation, featuring a significantly larger set of tasks collected from issues created after 2026, and we will continue to refresh the benchmark over time to keep it contamination-resistant and up to date.
data/swe-bench-promax.json: benchmark instances.data/eval.json: evaluation scripts keyed by instance_id.src/evaluation/test_run.py: Docker-based evaluation runner for model patches.src/pipeline/: data collection utilities used to build the benchmark.testdata/swe-bench-promax.jsondata/eval.json, keyed by instance_id| Language | Instances |
|---|---|
| C | 20 |
| C++ | 22 |
| Go | 23 |
| Java | 26 |
| Python | 29 |
| Rust | 22 |
| TypeScript | 28 |
Load the benchmark records from the local JSON file:
import json
with open("data/swe-bench-promax.json", encoding="utf-8") as f:
dataset = json.load(f)
print(len(dataset))
print(dataset[0]["instance_id"])
Load the evaluation metadata:
import json
with open("data/eval.json", encoding="utf-8") as f:
eval_metadata = json.load(f)
first_instance_id = next(iter(eval_metadata))
print(first_instance_id)
print(eval_metadata[first_instance_id]["eval_script"])
The evaluation runner compares model patches against the reference patches and writes a pass-rate report. It expects Docker to be available because each instance is evaluated inside its task container.
Prepare a predictions file such as preds.json:
[
{
"instance_id": "example_instance_id",
"model_patch": "diff --git ..."
}
]
Run the evaluator:
python src/evaluation/test_run.py \
--pred ./preds.json \
--golden ./data/swe-bench-promax.json \
--eval ./data/eval.json \
--output ./pass_rate.json \
--workers 1
Use --workers to evaluate multiple instances in parallel. Add --cleanup if you want the runner to remove Docker images after evaluation.
Each benchmark record includes the core fields below:
| Field | Description |
|---|---|
instance_id | Unique identifier for the task. |
repo | GitHub repository in owner/name form. |
language | Primary programming language for the task. |
problem_statement | Natural-language issue or task description. |
hints_text | Optional guidance associated with the task. |
base_commit | Repository commit before the target fix. |
environment_setup_commit | Commit used for environment preparation. |
patch | Reference solution patch. |
test_patch | Test patch used during evaluation. |
image_name | Container image name for the task environment. |
working_dir | Repository path inside the evaluation environment. |
created_at | Source timestamp as Unix seconds. |
Each data/eval.json entry is keyed by the same instance_id and contains:
| Field | Description |
|---|---|
instance_id | Matching benchmark instance identifier. |
eval_script | Shell script used to run the task-specific evaluation. |
The collection utilities live under src/pipeline/. See src/pipeline/collection/README.md for the collection workflow and required environment variables.
If you find SWE-Bench-ProMax useful, please cite:
@misc{shi2026swe,
title={SWE-Bench ProMax: Benchmarking Agents on Large-Scale Multilingual Code Refactoring},
author={Yuling Shi and Jinghan Xu and Kelin Fu and Wenhao Zeng and Shilin He and Lei Zhang and Yue Liu and Zelin Zhao and Terry Yue Zhuo and Jialun Cao and Siyu Ye and Tianyu Liu and Kai Cai and Shing-Chi Cheung and Xiaodong Gu},
year={2026},
eprint={2608.09802},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2608.09802},
}
12 commits
2 commits
SWE-Bench-ProMax is a multi-language benchmark for repository-level software issue resolution, accepted to COLM 2026. All task instances are collected from real-world GitHub issues created after 2025, substantially reducing the risk of training-data contamination for contemporary language models. Each instance provides a task description, repository metadata, a reference patch, an evaluation test patch, and container-oriented metadata for reproducible, patch-based evaluation.
1
14 commits
1 linked in READMEs
updated Aug 26, 2026
π Paper Β· π Dataset Β· βοΈ Evaluation Β· π¬ Contact
SWE-Bench-ProMax is a multi-language benchmark for repository-level software issue resolution, accepted to COLM 2026. All task instances are collected from real-world GitHub issues created after 2025, substantially reducing the risk of training-data contamination for contemporary language models. Each instance provides a task description, repository metadata, a reference patch, an evaluation test patch, and container-oriented metadata for reproducible, patch-based evaluation.
We are actively maintaining this benchmark: a v2 release is under preparation, featuring a significantly larger set of tasks collected from issues created after 2026, and we will continue to refresh the benchmark over time to keep it contamination-resistant and up to date.
data/swe-bench-promax.json: benchmark instances.data/eval.json: evaluation scripts keyed by instance_id.src/evaluation/test_run.py: Docker-based evaluation runner for model patches.src/pipeline/: data collection utilities used to build the benchmark.testdata/swe-bench-promax.jsondata/eval.json, keyed by instance_id| Language | Instances |
|---|---|
| C | 20 |
| C++ | 22 |
| Go | 23 |
| Java | 26 |
| Python | 29 |
| Rust | 22 |
| TypeScript | 28 |
Load the benchmark records from the local JSON file:
import json
with open("data/swe-bench-promax.json", encoding="utf-8") as f:
dataset = json.load(f)
print(len(dataset))
print(dataset[0]["instance_id"])
Load the evaluation metadata:
import json
with open("data/eval.json", encoding="utf-8") as f:
eval_metadata = json.load(f)
first_instance_id = next(iter(eval_metadata))
print(first_instance_id)
print(eval_metadata[first_instance_id]["eval_script"])
The evaluation runner compares model patches against the reference patches and writes a pass-rate report. It expects Docker to be available because each instance is evaluated inside its task container.
Prepare a predictions file such as preds.json:
[
{
"instance_id": "example_instance_id",
"model_patch": "diff --git ..."
}
]
Run the evaluator:
python src/evaluation/test_run.py \
--pred ./preds.json \
--golden ./data/swe-bench-promax.json \
--eval ./data/eval.json \
--output ./pass_rate.json \
--workers 1
Use --workers to evaluate multiple instances in parallel. Add --cleanup if you want the runner to remove Docker images after evaluation.
Each benchmark record includes the core fields below:
| Field | Description |
|---|---|
instance_id | Unique identifier for the task. |
repo | GitHub repository in owner/name form. |
language | Primary programming language for the task. |
problem_statement | Natural-language issue or task description. |
hints_text | Optional guidance associated with the task. |
base_commit | Repository commit before the target fix. |
environment_setup_commit | Commit used for environment preparation. |
patch | Reference solution patch. |
test_patch | Test patch used during evaluation. |
image_name | Container image name for the task environment. |
working_dir | Repository path inside the evaluation environment. |
created_at | Source timestamp as Unix seconds. |
Each data/eval.json entry is keyed by the same instance_id and contains:
| Field | Description |
|---|---|
instance_id | Matching benchmark instance identifier. |
eval_script | Shell script used to run the task-specific evaluation. |
The collection utilities live under src/pipeline/. See src/pipeline/collection/README.md for the collection workflow and required environment variables.
If you find SWE-Bench-ProMax useful, please cite:
@misc{shi2026swe,
title={SWE-Bench ProMax: Benchmarking Agents on Large-Scale Multilingual Code Refactoring},
author={Yuling Shi and Jinghan Xu and Kelin Fu and Wenhao Zeng and Shilin He and Lei Zhang and Yue Liu and Zelin Zhao and Terry Yue Zhuo and Jialun Cao and Siyu Ye and Tianyu Liu and Kai Cai and Shing-Chi Cheung and Xiaodong Gu},
year={2026},
eprint={2608.09802},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2608.09802},
}
12 commits
2 commits