遇见数据集

ByteDance-Seed/Multi-SWE-bench

收藏
Hugging Face2026-07-08 更新2025-04-12 收录
官方服务:

资源简介:

--- license: other task_categories: - text-generation tags: - code --- ## 👋 Overview This repository contains the Multi-SWE-bench dataset, introduced in [Multi-SWE-bench: A Multilingual Benchmark for Issue Resolving](https://huggingface.co/papers/2504.02605), to address the lack of multilingual benchmarks for evaluating LLMs in real-world code issue resolution. Unlike existing Python-centric benchmarks (e.g., SWE-bench), this framework spans 7 languages (Java, TypeScript, JavaScript, Go, Rust, C, and C++) with 1,632 high-quality instances, curated from 2,456 candidates by 68 expert annotators for reliability. The leaderboard can be found at: https://multi-swe-bench.github.io ## ⚙️ Usage ```bash # Make sure git-lfs is installed (https://git-lfs.com) git lfs install git clone https://huggingface.co/datasets/ByteDance-Seed/Multi-SWE-bench ``` ## 🧩 Data Instances Structure An example of a Multi-SWE-bench datum is as follows: ``` org: (str) - Organization name identifier from Github. repo: (str) - Repository name identifier from Github. number: (int) - The PR number. state: (str) - The PR state. title: (str) - The PR title. body: (str) - The PR body. base: (dict) - The target branch information of the PR resolved_issues: (list) - A json list of strings that represent issues that resolved by PR application. fix_patch: (str) - A fix-file patch that was contributed by the solution PR. test_patch: (str) - A test-file patch that was contributed by the solution PR. fixed_tests: (dict) - A json dict of strings that represent tests that should be fixed after the PR application. p2p_tests: (dict) - The tests that should pass before and after the PR application. f2p_tests: (dict) - The tests resolved by the PR and tied to the issue resolution. s2p_tests: (dict) - The tests that should skip before the PR application, and pass after the PR application. n2p_tests: (dict) - The tests that did not exist before the PR application and tests that should be passed after the PR application. run_result: (dict) - Overall run results, including number of tests passed, number of tests failed, etc. test_patch_result: (dict) - The result after the test patch was applied. fix_patch_result: (dict) - The result after all the patches were applied. instance_id: (str) - A formatted instance identifier, usually as org__repo_PR-number. ``` ## 📚 Citation ``` @misc{zan2025multiswebench, title={Multi-SWE-bench: A Multilingual Benchmark for Issue Resolving}, author={Daoguang Zan and Zhirong Huang and Wei Liu and Hanwu Chen and Linhao Zhang and Shulin Xin and Lu Chen and Qi Liu and Xiaojian Zhong and Aoyan Li and Siyao Liu and Yongsheng Xiao and Liangqiang Chen and Yuyu Zhang and Jing Su and Tianyu Liu and Rui Long and Kai Shen and Liang Xiang}, year={2025}, eprint={2504.02605}, archivePrefix={arXiv}, primaryClass={cs.SE}, url={https://arxiv.org/abs/2504.02605}, } ``` ## 📜 License The dataset is licensed under CC0, subject to any intellectual property rights in the dataset owned by Bytedance. The data is adapted from the listed open source projects; your use of that data must comply with their respective licenses. | Language | Organization/Repository | Repository Link | Data Link | | :------- | :------------------------------ | :----------------------------------------------------------- | ------------------------------------------------------------ | | C | facebook/zstd | [repo_link](https://github.com/facebook/zstd) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/c/facebook__zstd_dataset.jsonl) | | C | jqlang/jq | [repo_link](https://github.com/jqlang/jq) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/c/jqlang__jq_dataset.jsonl) | | C | ponylang/ponyc | [repo_link](https://github.com/ponylang/ponyc) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/c/ponylang__ponyc_dataset.jsonl) | | C++ | catchorg/Catch2 | [repo_link](https://github.com/catchorg/Catch2) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/cpp/catchorg__Catch2_dataset.jsonl) | | C++ | fmtlib/fmt | [repo_link](https://github.com/fmtlib/fmt) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/cpp/fmtlib__fmt_dataset.jsonl) | | C++ | nlohmann/json | [repo_link](https://github.com/nlohmann/json) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/cpp/nlohmann__json_dataset.jsonl) | | C++ | simdjson/simdjson | [repo_link](https://github.com/simdjson/simdjson) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/cpp/simdjson__simdjson_dataset.jsonl) | | C++ | yhirose/cpp-httplib | [repo_link](https://github.com/yhirose/cpp-httplib) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/cpp/yhirose__cpp-httplib_dataset.jsonl) | | Go | cli/cli | [repo_link](https://github.com/cli/cli) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/go/cli__cli_dataset.jsonl) | | Go | grpc/grpc-go | [repo_link](https://github.com/grpc/grpc-go) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/go/grpc__grpc-go_dataset.jsonl) | | Go | zeromicro/go-zero | [repo_link](https://github.com/zeromicro/go-zero) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/go/zeromicro__go-zero_dataset.jsonl) | | Java | alibaba/fastjson2 | [repo_link](https://github.com/alibaba/fastjson2) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/java/alibaba__fastjson2_dataset.jsonl) | | Java | elastic/logstash | [repo_link](https://github.com/elastic/logstash) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/java/elastic__logstash_dataset.jsonl) | | Java | mockito/mockito | [repo_link](https://github.com/mockito/mockito) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/java/mockito__mockito_dataset.jsonl) | | JS | anuraghazra/github-readme-stats | [repo_link](https://github.com/anuraghazra/github-readme-stats) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/js/anuraghazra__github-readme-stats_dataset.jsonl) | | JS | axios/axios | [repo_link](https://github.com/axios/axios) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/js/axios__axios_dataset.jsonl) | | JS | expressjs/express | [repo_link](https://github.com/expressjs/express) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/js/expressjs__express_dataset.jsonl) | | JS | iamkun/dayjs | [repo_link](https://github.com/iamkun/dayjs) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/js/iamkun__dayjs_dataset.jsonl) | | JS | Kong/insomnia | [repo_link](https://github.com/Kong/insomnia) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/js/Kong__insomnia_dataset.jsonl) | | JS | sveltejs/svelte | [repo_link](https://github.com/sveltejs/svelte) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/js/sveltejs__svelte_dataset.jsonl) | | Rust | BurntSushi/ripgrep | [repo_link](https://github.com/BurntSushi/ripgrep) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/rust/BurntSushi__ripgrep_dataset.jsonl) | | Rust | clap-rs/clap | [repo_link](https://github.com/clap-rs/clap) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/rust/clap-rs__clap_dataset.jsonl) | | Rust | nushell/nushell | [repo_link](https://github.com/nushell/nushell) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/rust/nushell__nushell_dataset.jsonl) | | Rust | serde-rs/serde | [repo_link](https://github.com/serde-rs/serde) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/rust/serde-rs__serde_dataset.jsonl) | | Rust | sharkdp/bat | [repo_link](https://github.com/sharkdp/bat) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/rust/sharkdp__bat_dataset.jsonl) | | Rust | sharkdp/fd | [repo_link](https://github.com/sharkdp/fd) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/rust/sharkdp__fd_dataset.jsonl) | | Rust | rayon-rs/rayon | [repo_link](https://github.com/rayon-rs/rayon) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/rust/rayon-rs__rayon_dataset.jsonl) | | Rust | tokio-rs/bytes | [repo_link](https://github.com/tokio-rs/bytes) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/rust/tokio-rs__bytes_dataset.jsonl) | | Rust | tokio-rs/tokio | [repo_link](https://github.com/tokio-rs/tokio) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/rust/tokio-rs__tokio_dataset.jsonl) | | Rust | tokio-rs/tracing | [repo_link](https://github.com/tokio-rs/tracing) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/rust/tokio-rs__tracing_dataset.jsonl) | | TS | darkreader/darkreader | [repo_link](https://github.com/darkreader/darkreader) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/ts/darkreader__darkreader_dataset.jsonl) | | TS | mui/material-ui | [repo_link](https://github.com/mui/material-ui) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/ts/mui__material-ui_dataset.jsonl) | | TS | vuejs/core | [repo_link](https://github.com/vuejs/core) | [data_link](https://huggingface.co/datasets/bytedance-research/Multi-SWE-Bench/blob/main/ts/vuejs__core_dataset.jsonl) |

Multi-SWE-bench is a multilingual benchmark dataset designed to evaluate the performance of Large Language Models (LLMs) in real-world code issue resolution. The dataset spans across 7 programming languages: Java, TypeScript, JavaScript, Go, Rust, C, and C++, and includes 1,632 high-quality instances curated from 2,456 candidates by 68 expert annotators for reliability.

提供机构:
ByteDance-Seed
搜集汇总
数据集介绍
ByteDance-Seed/Multi-SWE-bench 数据集图片
构建方式
在代码智能领域,现有基准测试多集中于Python语言,难以全面衡量大语言模型在多语言环境下的实际问题修复能力。Multi-SWE-bench数据集应运而生,旨在填补这一空白。该数据集从7种主流编程语言(Java、TypeScript、JavaScript、Go、Rust、C及C++)的开源项目中精心筛选了2,456个候选实例,并邀请68位领域专家进行严格标注与审核,最终构建出包含1,632个高质量实例的评测集。每个实例以JSON格式存储,包含了问题描述、关联的修复补丁、测试补丁以及多维度测试结果等结构化信息,确保了数据来源的可靠性与标注的权威性。
使用方法
研究者可通过Git LFS工具便捷地获取该数据集:首先确保已安装git-lfs,然后执行`git lfs install`及`git clone https://huggingface.co/datasets/ByteDance-Seed/Multi-SWE-bench`命令克隆完整仓库。数据集以JSONL格式按语言分目录存储,每个实例包含丰富的字段,如组织与仓库名称、Pull Request编号、标题与正文、基础分支信息、修复及测试补丁等。用户可根据需要加载特定语言的子集,利用`fix_patch`与`test_patch`字段模拟模型修复过程,并通过`run_result`等字段评估修复效果。该数据集适用于训练与评估大语言模型在多语言代码问题修复任务中的表现,亦可用于开发相关领域的代码补全与调试工具。
背景与挑战
背景概述
随着大语言模型在代码生成与理解任务上的能力突飞猛进,如何系统性地评估其在真实世界代码问题修复中的表现成为学术界与工业界共同关注的焦点。现有的评估基准多集中于Python语言,难以全面衡量模型在多语言环境下的泛化能力。在此背景下,字节跳动Seed研究团队于2025年发布了Multi-SWE-bench数据集,由68位专业标注员从2456个候选实例中精心筛选出1632个高质量样本,覆盖Java、TypeScript、JavaScript、Go、Rust、C和C++七种主流编程语言。该数据集旨在为多语言代码问题修复任务提供标准化评估框架,填补了该领域长期存在的基准缺失问题,对推动跨语言软件工程自动化研究具有重要意义。
当前挑战
Multi-SWE-bench所解决的领域核心挑战在于现有基准的单一语言局限,使得大语言模型在多语言代码缺陷定位与补丁生成上的真实能力无法被客观度量,从而制约了跨语言软件工程研究的深入发展。而在数据集的构建过程中,团队面临了多重困难:从不同开源仓库中甄别适用于多语言场景的拉取请求实例并进行跨语言一致性标注,需要耗费大量专家人力;同时确保各语言样本的难度均衡、避免数据泄露以及构建可复现的自动化测试验证流程,都对数据质量控制和基准可靠性提出了极高要求。
常用场景
经典使用场景
在软件工程与自然语言处理交叉领域,Multi-SWE-bench被广泛用于评估大型语言模型(LLM)在真实世界代码仓库中解决跨语言问题修复的能力。研究者通过向模型提供包含问题描述、目标分支信息的实例,要求模型生成可应用的修复补丁(fix_patch)和测试补丁(test_patch),并依据预定义的各类测试集(如fixed_tests、p2p_tests)验证修复的正确性。该数据集支持从单语言任务扩展到多语言场景,使得多语言代码理解、补丁生成与测试验证成为典型的基准评估流程。
解决学术问题
该数据集解决了现有代码修复基准(如SWE-bench)仅聚焦Python语言,无法反映工业界真实多语言开发生态的学术研究困境。Multi-SWE-bench覆盖Java、TypeScript、JavaScript、Go、Rust、C和C++共七种主流编程语言,提供了1632个高质量实例,有效填补了多语言自动化问题修复评估的空白。其引入的分层测试体系(p2p、f2p、s2p、n2p)能够细致刻画补丁对现有功能、已解决问题及新增场景的影响,为研究模型在异构语言环境下的泛化能力与鲁棒性提供了关键的量化工具。
实际应用
在工业软件开发中,Multi-SWE-bench可以辅助提升持续集成与自动维护的效率。开发者可利用该数据集训练或微调LLM,使其能够自动识别来自不同语言项目的缺陷报告,并生成符合代码库规范的修复补丁,从而加速Bug修复流程、降低人工审查负担。此外,数据集中的多语言测试用例还能为代码审查工具与静态分析系统提供验证基准,帮助团队在跨语言项目中快速定位回归问题,提升软件交付的质量与稳定性。
数据集最近研究
最新研究方向
随着大语言模型在代码生成与理解领域取得突破性进展,代码缺陷自动修复成为研究焦点。现有基准如SWE-bench固于Python单一语言生态,难以全面评估模型在工业级多语言场景下的真实能力。Multi-SWE-bench应运而生,横跨Java、TypeScript等七种主流编程语言,由68位专家从逾两千候选实例中精炼出1632个高质量样本,构建起评估LLM跨语言代码问题解决能力的标杆。该数据集填补了多语言代码修复基准的空白,为探索模型在异构代码库中的泛化性能、推动跨语言代码智能的演进提供了坚实的数据基石与评估范式。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务