遇见数据集

SWE-Bench ProMax

收藏
arXiv2026-08-11 更新2026-08-12 收录
官方服务:

资源简介:

SWE-Bench ProMax是由上海交通大学等多家机构联合创建的大规模多语言代码重构基准数据集,旨在评估AI编码代理在复杂、长时域软件工程任务上的能力。该数据集包含170个精心挑选的实例,覆盖Python、Java、TypeScript、Go、C、C++和Rust七种编程语言,每个实例平均涉及11.4个文件的修改和261.6行代码的变更,远超现有基准的规模。数据集构建过程历经从GitHub积极维护的仓库中收集真实重构提交、环境构建与多阶段专家筛选,包括问题描述重写和测试套件优化,以消除过于狭窄或宽泛的测试。该基准主要用于解决现有基准饱和、评估质量低及语言覆盖不足的问题,为跨文件代码重构这一高频但困难的开发活动提供可靠且具有挑战性的评测标准。

SWE-Bench ProMax is a large-scale multilingual code refactoring benchmark dataset co-developed by Shanghai Jiao Tong University and multiple other institutions, designed to evaluate the capabilities of AI coding agents on complex, long-horizon software engineering tasks. This dataset contains 170 carefully selected instances spanning seven programming languages: Python, Java, TypeScript, Go, C, C++, and Rust. On average, each instance involves modifications to 11.4 files and code changes across 261.6 lines, far exceeding the scale of existing benchmarks. The dataset construction process includes collecting real refactoring commits from actively maintained GitHub repositories, setting up experimental environments, and conducting multi-stage expert screening, which involves rewriting problem descriptions and optimizing test suites to eliminate overly narrow or overly broad test cases. This benchmark is primarily developed to address the problems of saturated existing benchmarks, low evaluation quality, and insufficient language coverage, providing a reliable and challenging evaluation standard for cross-file code refactoring—a frequent yet challenging development practice.

创建时间:
2026-08-11
原始信息汇总

SWE-Bench-ProMax 数据集概述

基本信息

  • 数据集名称:SWE-Bench-ProMax
  • 数据集类型:多语言仓库级软件问题解决基准测试
  • 任务类别:文本生成
  • 语言:英语
  • 标签:软件工程、代码修复、补丁生成、SWE-Bench基准、多语言
  • 数据规模:100 < n < 1K(共170个实例)
  • 学术状态:已被 COLM 2026 会议接收

数据集内容

该数据集专注于仓库级别的软件问题解决,每个实例包含任务描述、仓库元数据、参考补丁、评估测试补丁,以及用于运行补丁检查的容器元数据。

主要统计

  • 总实例数:170
  • 主数据划分test
  • 主数据文件swe-bench-promax.json
  • 评估元数据文件eval.json(以instance_id为键)

编程语言覆盖

语言 实例数
C 20
C++ 22
Go 23
Java 26
Python 29
Rust 22
TypeScript 28

数据字段结构

每条基准记录包含以下核心字段:

  • instance_id:任务唯一标识符
  • repo:GitHub仓库(格式为owner/name
  • language:任务主要编程语言
  • problem_statement:自然语言问题或任务描述
  • hints_text:任务相关的可选提示
  • base_commit:目标修复前的仓库提交
  • environment_setup_commit:环境准备使用的提交
  • patch:参考解决方案补丁
  • test_patch:评估过程中使用的测试补丁
  • image_name:任务环境的容器镜像名称
  • working_dir:评估环境中的仓库路径
  • created_at:来源时间戳(Unix秒)

部分记录还包含额外源元数据,如pull_numberissue_numbers

每个eval.json条目以相同的instance_id为键,包含:

  • instance_id:对应的基准实例标识符
  • eval_script:执行任务特定评估的Shell脚本

数据集使用

加载基准数据

python from datasets import load_dataset

dataset = load_dataset("swe-bench-promax/SWE-Bench-ProMax", split="test") print(len(dataset))

下载评估元数据

python import json from huggingface_hub import hf_hub_download

eval_path = hf_hub_download( repo_id="swe-bench-promax/SWE-Bench-ProMax", filename="eval.json", repo_type="dataset", )

with open(eval_path, encoding="utf-8") as f: eval_metadata = json.load(f)

引用信息

引用该数据集时,请使用以下格式:

@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}, }

搜集汇总
数据集介绍
SWE-Bench ProMax 数据集图片
构建方式
SWE-Bench ProMax的构建遵循严谨的三阶段流程。首先,通过GitHub API筛选出超过500星标、拥有开源许可证且主要语言为七种目标语言之一的活跃仓库,并提取2025年后包含“refactor”关键字的提交。其次,为每个候选提交构建Docker环境,验证金补丁能否通过测试套件,剔除环境不可用或验证失败的实例。最后,由人类专家协同LLM进行深度筛选与问题重写,移除复杂度不足或测试存在缺陷的任务,并从零重写问题描述,确保其精确无歧义且与金补丁互为充要条件。整个流程从29,782个初始候选中精炼出170个高质量实例。
特点
该数据集的核心特点在于其大规模、多语言与高难度。实例平均涉及11.4个源文件和261.6行代码的修改,远超现有基准,其中30%的实例修改超过10个文件,32%修改超过200行代码。数据集覆盖Python、Java、TypeScript、Go、C、C++和Rust七种语言,源自70个不同仓库,体现了语言范式的多样性。此外,专家精心策划的问题描述和测试套件,排除了过窄或过宽的测试,确保了评估的可靠性和区分度。最佳模型仅达到41.2%的解决率,证实了其未饱和的挑战性。
使用方法
使用SWE-Bench ProMax时,研究者需为每个实例配置Docker环境(已预装依赖),并基于重写后的问题描述,让编码代理自主修改仓库代码。评估以最终仓库状态为准,通过执行全部测试来判断实例是否解决。基准采用Pass@1作为主要指标,并设有300步和10美元的成本上限来约束代理行为。该数据集支持跨语言性能对比、代理行为分析(如文件修改数、交互轮次)以及成本效益评估,适用于检验长期跨文件协调能力,并可作为开发更高效编码代理的测试平台。
背景与挑战
背景概述
随着人工智能编码代理日益承担复杂、长周期的软件工程任务,现有基准测试迅速饱和,其评估质量受到严峻审视。近期审计发现,近60%未被解决的SWE-bench Verified实例包含有缺陷的测试,而前沿模型能够逐字复现训练数据中的金标准补丁。代码重构作为专业软件开发中最频繁且关键的维护活动,要求跨文件的行为保持性变更,是衡量代理能力的更艰巨、更现实的任务,但现有基准对此覆盖不足。为此,由上海交通大学、北京大学、香港科技大学等机构的研究人员于2026年共同构建了SWE-Bench ProMax,一个经专家精心策划的多语言代码重构基准,包含来自七个编程语言(Python、Java、TypeScript、Go、C、C++和Rust)的170个真实提交实例,旨在通过严格的构建流程解决基准质量缺陷,推动编码代理评估的革新。
当前挑战
SWE-Bench ProMax所面临的挑战深刻而多维。领域层面,现有基准如SWE-bench Verified因高分饱和与测试缺陷(过窄或过宽)而失去区分度,代码重构要求跨文件协调与行为保持,远超当前代理的能力极限,最佳模型仅有41.2%的解决率,且失败模式集中于不完整的跨文件重构。构建层面,从29,782个候选提交中筛选出170个实例,需克服环境搭建与验证的复杂性,对每个实例进行专家驱动的多阶段策划,包括重写问题描述以消除歧义、人工审查测试套件以剔除无效测试,并确保描述与测试、金标准补丁的充分必要性一致,过程耗时且高度依赖专家知识,同时需平衡多语言覆盖与数据质量,以应对数据污染和语言特异性的挑战。
常用场景
经典使用场景
SWE-Bench ProMax作为一项专家精修的多语言代码重构基准,其经典使用场景聚焦于评估AI编程代理在大型真实软件仓库中执行跨文件、行为保持的复杂重构任务的能力。该基准包含170个实例,覆盖Python、Java、TypeScript、Go、C、C++和Rust七种编程语言,每个实例平均涉及11.4个文件和261.6行代码的协同改动,远超现有基准的规模。研究者利用该基准对前沿模型(如GPT-5.2、Claude Sonnet 4.6)进行系统评测,以衡量其在长时间跨度、多上下文窗口下的规划与执行能力,从而揭示当前AI代理在真实软件工程场景中的性能上限。
衍生相关工作
该数据集衍生了多项经典工作,主要集中在代理行为分析与效率优化方面。基于其公开的轨迹数据,研究者分析了失败模式,发现代理常因跨文件协调不完整而失败,从而催生了如长上下文记忆管理(SWE-Mem)和自适应上下文剪枝(SWE-Pruner)等方法。此外,该基准还激发了多代理协作(SWE-Debate)和高效环境验证(Dockerless)等方向的研究,并推动了开放式模型在低成本下追赶专有模型性能的探索,如GLM-5和Qwen3.5在基准上的表现分析,进一步促进了AI编程代理领域的迭代进步。
数据集最近研究
最新研究方向
当前,AI编码智能体正从单一缺陷修复迈向多文件协同的长程重构任务,而既有基准因测试设计缺陷与数据污染而迅速饱和。SWE-Bench ProMax应运而生,它基于七种编程语言的170个真实重构提交,通过专家多阶段筛选,精准刻画了工业生产中跨文件、行为保持的代码重构挑战。其权威性不仅源于对测试窄化与泛化问题的系统性校正,更揭示了前沿模型在此类任务上仅达到41.2%解决率、且普遍存在跨文件协调不完整的现象,为评估智能体在复杂工程场景下的真实能力树立了全新标尺,并引领了关于开源模型性价比优势与语言特定性能差异的深度探讨。
相关研究论文
  • 1
    SWE-Bench ProMax: Benchmarking Agents on Large-Scale Multilingual Code Refactoring上海交通大学; 北京大学; 香港科技大学; 抖音集团; 中国科学院大学; 新加坡国立大学; 莫纳什大学 · 2026年
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务