XUO/SWE-PolyBench
收藏Hugging Face2025-12-19 更新2025-12-20 收录
下载链接:
https://hf-mirror.com/datasets/XUO/SWE-PolyBench
下载链接
链接失效反馈官方服务:
资源简介:
SWE-PolyBench是一个多语言仓库级软件工程基准测试数据集,目前包含四种语言:Python、Java、Javascript和Typescript。具体实例数量为:Javascript 1017个,Typescript 729个,Python 199个,Java 165个。数据集分为三个子集:完整数据集(AmazonScience/SWE-PolyBench)、分层抽样数据集(AmazonScience/SWE-PolyBench_500,包含500个实例)和已验证数据集(AmazonScience/SWE-PolyBench_Verified,包含394个实例)。数据集主要用于评估开源编码代理/模型,包含多个字段如instance_id、patch、repo、base_commit等,用于详细描述每个实例的信息。数据集的语言主要为英语。
SWE-PolyBench is a multi language repo level software engineering benchmark. Currently it includes 4 languages: Python, Java, Javascript, and Typescript. The number of instances in each language is: Javascript: 1017, Typescript: 729, Python: 199, Java: 165. There are total three datasets available under SWE-PolyBench. `AmazonScience/SWE-PolyBench` is the full dataset, `AmazonScience/SWE-PolyBench_500` is the stratified sampled dataset with 500 instances and `AmazonScience/SWE-PolyBench_Verified` is our verified dataset with 394 instances. The dataset is primarily in English and includes columns like instance_id, patch, repo, base_commit, etc., for detailed description of each instance.
提供机构:
XUO搜集汇总
数据集介绍

构建方式
在软件工程领域,对代码智能体进行仓库级别的评估至关重要。SWE-PolyBench应运而生,它是一个多语言仓库级软件工程基准数据集,覆盖Python、Java、JavaScript与TypeScript四种编程语言。该数据集通过从GitHub上收集真实世界的Pull Request及其关联的Issue构建而成,每个实例包含问题陈述、gold patch、测试补丁及多种元数据。数据集以三种形式发布:完整版包含2110个实例,分层采样版精选500个实例以确保语言分布均衡,而验证版则包含394个经过严格校验的实例,保障了数据的高质量与可靠性。
特点
SWE-PolyBench的核心特点在于其多语言覆盖与细粒度的任务分类。数据集不仅横跨四种主流编程语言,还按问题类型细分为Bug修复、重构与功能添加三大类别。每个实例均提供丰富的结构化字段,包括实例ID、仓库信息、基准提交哈希、提示文本、测试命令及Dockerfile,为评估代码智能体的检索与修复能力提供了多维度的支持。此外,数据集引入了F2P(修复后通过)与P2P(修复前后均通过)测试集,以及节点变更信息,使得对智能体在代码定位与修改层面的评估更加精准与全面。
使用方法
使用SWE-PolyBench时,研究者可直接从HuggingFace加载三种数据集之一,根据需求选择完整版、分层采样版或验证版。每个实例的Dockerfile允许在隔离环境中复现问题,而test_command字段则提供了执行测试的标准指令。评估流程通常包括:基于problem_statement生成补丁,利用F2P与P2P测试集验证修复效果,并结合is_func_only、is_single_class等元数据指标分析智能体的代码定位能力。提交预测结果需遵循项目仓库中的README指南,以便在官方排行榜上进行公平比较。
背景与挑战
背景概述
在软件工程领域,代码智能代理的评估长期受限于单一语言基准的桎梏,尤其以Python为主导的SWE-bench等数据集虽推动了自动程序修复与代码生成的研究,却难以反映真实世界中多语言仓库级开发的复杂生态。为弥合这一鸿沟,由Amazon科学团队于2025年提出的SWE-PolyBench应运而生,汇聚了Muhammad Shihab Rashid、Christian Bock等研究者的智慧,旨在构建一个覆盖Python、Java、JavaScript与TypeScript四种主流语言的跨语言仓库级基准。该数据集包含超过2100个实例,每个实例均源自真实GitHub拉取请求,囊括错误修复、重构与功能添加等任务类型,并提供了细粒度的修改节点分类与验证子集。SWE-PolyBench的诞生不仅填补了多语言软件工程评估的空白,更通过其分层采样与严格验证的版本,为编码代理的鲁棒性与泛化能力提供了更具说服力的检验场,对推动自动化软件开发工具的演进具有里程碑意义。
当前挑战
当前SWE-PolyBench面临的核心挑战首先源于所解决的领域问题:跨语言仓库级代码理解与修复的复杂性远超单语言场景,不同语言的语法范式、依赖管理及测试框架的异构性,使得编码代理需同时具备跨语言迁移与仓库上下文建模能力,而现有模型在非Python语言上的表现显著下滑,暴露出泛化瓶颈。其次,在数据集构建过程中,挑战同样严峻:从海量GitHub拉取请求中精准提取与问题陈述对应的补丁,需排除测试相关代码的干扰,确保补丁的纯净性;同时,为每个实例生成可复现的Docker环境与测试命令,需应对不同语言生态的版本冲突与依赖缺失问题;此外,对修改节点的细粒度分类(如函数级、类级或混合修改)依赖人工标注与启发式规则的结合,存在噪声与边界模糊的风险。这些挑战共同制约了基准的扩展性,也揭示了当前代码智能代理在真实多语言开发环境中的落地距离。
常用场景
经典使用场景
SWE-PolyBench作为一款面向多语言仓库级别的软件工程基准测试数据集,其最经典的使用场景在于评估和比较不同代码智能体在真实世界软件仓库中的问题修复与代码生成能力。该数据集涵盖了Python、Java、JavaScript和TypeScript四种主流编程语言,共计超过两千个实例,每个实例均包含完整的仓库上下文、问题描述、黄金补丁及测试命令。研究者和开发者可以借助该基准,在统一的框架下系统性衡量智能体对跨语言、跨仓库复杂软件工程任务的处理效能,从而推动代码智能体从单文件编辑向多文件、多模块的仓库级协作演进。
实际应用
在实际应用中,SWE-PolyBench可被直接用于自动化代码维护和持续集成流水线中,帮助开发团队评估和筛选高效的代码智能体以辅助日常开发工作。例如,企业可以利用该数据集测试内部开发的代码助手在修复跨语言项目缺陷时的表现,从而决定是否将其集成到开发环境中。此外,该基准还可用于训练和微调新一代代码生成模型,使其在真实仓库上下文中具备更强的上下文理解和补丁生成能力,最终提升软件开发的效率与质量。
衍生相关工作
SWE-PolyBench的发布已催生出多项衍生研究工作,包括基于该数据集设计的检索增强生成方法、多语言代码补丁排序算法以及面向仓库级任务的智能体架构优化。例如,有研究团队利用其提供的修改节点信息和测试分类,开发了更精准的代码定位与修复策略。此外,该数据集还成为评估大型语言模型在软件工程领域能力的重要参考,推动了如SWE-Agent等经典工作的性能提升与多语言扩展,进一步巩固了仓库级基准在代码智能研究中的核心地位。
以上内容由遇见数据集搜集并总结生成



