Multi-SWE-bench
收藏arXiv2025-04-03 更新2025-04-08 收录
下载链接:
http://arxiv.org/abs/2504.02605v1
下载链接
链接失效反馈官方服务:
资源简介:
Multi-SWE-bench是一个多语言的问题解决数据集,由字节跳动公司发布,包含7种广泛使用的编程语言(Java、TypeScript、JavaScript、Go、Rust、C和C++)的1632个经过人工验证的问题解决实例。数据集的构建分为五个阶段:选取高质量仓库、抓取相关Pull Request、确定环境配置、过滤Pull Request和人工验证。该数据集旨在为评估大型语言模型在现实世界软件工程场景中的性能提供可靠的支撑,并推动强化学习在软件工程领域的应用。
Multi-SWE-bench is a multilingual problem-solving dataset released by ByteDance. It contains 1,632 manually validated problem-solving instances across seven widely used programming languages: Java, TypeScript, JavaScript, Go, Rust, C, and C++. The construction of the dataset consists of five stages: selecting high-quality repositories, scraping relevant Pull Requests, determining environment configurations, filtering Pull Requests, and manual validation. This dataset aims to provide reliable support for evaluating the performance of large language models in real-world software engineering scenarios, and promote the application of reinforcement learning in the field of software engineering.
提供机构:
字节跳动
创建时间:
2025-04-03
搜集汇总
数据集介绍

构建方式
Multi-SWE-bench的构建采用了系统化的五阶段流程,确保数据集的多样性和高质量。首先,基于GitHub星级和可运行性筛选高质量代码库;其次,收集与问题相关的拉取请求及其元数据;第三,通过提取CI/CD工作流和文档中的依赖项,为每个拉取请求构建Docker化环境以确保可复现性;第四,通过分析补丁配置下的测试结果验证拉取请求,仅保留具有明确修复效果且无退化的实例;最后,通过双重标注和交叉审查进行严格人工验证,确保与SWE-bench验证标准一致的高质量基准。
特点
Multi-SWE-bench覆盖Java、TypeScript、JavaScript、Go、Rust、C和C++七种编程语言,包含1,632个高质量实例,源自39个代码库。数据集展现了语言间的显著差异:Java和Rust问题通常描述较长且修复复杂,而JavaScript和Go问题则更为简洁。所有实例均配备可靠的测试覆盖率,并通过人工验证确保正确性。此外,数据集根据问题解决时间定义了难度等级(简单、中等、困难),为评估模型性能提供了更真实的度量标准。
使用方法
Multi-SWE-bench支持三种代表性方法(Agentless、SWE-agent和OpenHands)评估模型性能,主要指标为问题解决率(Resolved Rate)。用户可通过配置Docker环境复现实例,运行测试验证模型生成的补丁。数据集还提供详细的测试日志(run.log、test.log、fix.log)以支持细粒度分析。此外,研究者可利用开源的数据生产管道扩展数据集,或参与Multi-SWE-RL社区贡献强化学习训练实例,推动自动化软件工程代理的发展。
背景与挑战
背景概述
Multi-SWE-bench是由字节跳动Seed团队于2025年推出的多语言问题解决基准测试数据集,旨在评估大型语言模型(LLMs)在多种编程语言环境下的问题解决能力。该数据集涵盖了Java、TypeScript、JavaScript、Go、Rust、C和C++七种主流编程语言,共包含1,632个高质量的问题实例,这些实例由68名专家标注员从2,456个候选样本中精心筛选而来。Multi-SWE-bench的创建填补了现有基准测试(如SWE-bench)仅专注于Python的不足,为多语言软件生态系统的评估提供了重要工具。该数据集不仅推动了LLMs在软件工程领域的应用,还为多语言问题解决的自动化研究提供了可靠的数据支持。
当前挑战
Multi-SWE-bench在解决多语言问题解决任务时面临多重挑战。首先,不同编程语言的范式、惯用模式和运行时行为的差异使得LLMs的跨语言泛化能力受到严峻考验,尤其是在处理动态类型语言(如TypeScript和JavaScript)和低层语言(如C和C++)时表现尤为明显。其次,数据集的构建过程中,确保多语言环境的可复现性和测试行为的语义验证是一项复杂任务,涉及依赖项提取、Docker环境配置以及严格的测试日志分析。此外,手动验证阶段需要高水平的语言专业知识和一致性标注,进一步增加了数据集的构建难度。这些挑战凸显了在多语言环境下开发高效问题解决代理的复杂性。
常用场景
经典使用场景
Multi-SWE-bench作为多语言问题解决基准,广泛应用于评估大型语言模型(LLMs)在多种编程语言中的问题解决能力。其典型使用场景包括测试LLMs在Java、TypeScript、JavaScript、Go、Rust、C和C++等语言中的代码修复、新功能实现和性能优化能力。通过提供1,632个高质量实例,该数据集为研究者和开发者提供了一个标准化的测试平台,用于验证模型在不同编程语言中的泛化能力和适应性。
衍生相关工作
基于Multi-SWE-bench,研究者开发了多种衍生工具和方法,如MagentLess、MSWE-agent和MopenHands等,这些工具扩展了原始数据集的适用范围并提升了问题解决的效率。此外,Multi-SWE-RL开源社区的建立进一步推动了强化学习在多语言软件工程中的应用,为构建大规模训练数据集和交互式环境奠定了基础。这些相关工作不仅丰富了数据集的应用场景,也为未来研究提供了新的方向。
数据集最近研究
最新研究方向
近年来,Multi-SWE-bench数据集在软件工程领域引起了广泛关注,特别是在多语言问题解决任务中。该数据集通过涵盖Java、TypeScript、JavaScript、Go、Rust、C和C++等多种编程语言,为评估大型语言模型(LLMs)在不同软件生态系统中的表现提供了全面基准。前沿研究主要集中在以下几个方面:首先,研究者们探索了LLMs在多语言环境中的泛化能力,发现尽管在Python任务中表现优异,但在其他语言中仍存在显著差距。其次,针对不同编程语言的特性(如动态类型、异步执行和内存管理等),研究提出了多种适应性方法,以提高模型在复杂任务中的表现。此外,结合强化学习(RL)技术,Multi-SWE-RL开源社区的建立进一步推动了自动化软件代理的发展,为构建大规模RL训练数据集提供了重要支持。这些研究不仅拓展了LLMs在软件工程中的应用边界,也为实现通用人工智能(AGI)迈出了重要一步。
相关研究论文
- 1Multi-SWE-bench: A Multilingual Benchmark for Issue Resolving字节跳动 · 2025年
以上内容由遇见数据集搜集并总结生成



