five

SWE-Bench-Demo

收藏
Hugging Face2025-06-03 更新2025-06-04 收录
下载链接:
https://huggingface.co/datasets/fermatix-ai/SWE-Bench-Demo
下载链接
链接失效反馈
官方服务:
资源简介:
SWE-bench数据集包含用于评估模型自动修 bug 和代码修改能力的任务,涵盖了多种编程语言和项目,提供了丰富的测试和训练场景。
创建时间:
2025-06-02
原始信息汇总

SWE-bench Tasks 数据集概述

数据集基本信息

  • 数据集名称: SWE-bench Tasks
  • 数据集用途: 评估模型在自动修复错误和代码修改方面的能力
  • 数据类型: 编程任务(包含代码修复、测试等)

数据集特征

  • repo: 字符串类型,代码仓库信息
  • instance_id: 字符串类型,实例ID
  • issue_link: 字符串类型,问题链接
  • pr_link: 字符串类型,PR链接
  • problem_statement: 字符串类型,问题描述
  • hints_text: 字符串类型,提示文本
  • base_commit: 字符串类型,基础提交
  • patch: 字符串类型,补丁
  • test_patch: 字符串类型,测试补丁
  • FAIL_TO_PASS: 字符串类型,失败到通过的测试
  • PASS_TO_PASS: 字符串类型,通过到通过的测试
  • language_version: 字符串类型,语言版本

数据集配置

  • 默认配置:
    • 数据文件:
      • CPP: cpp/cpp.parquet
      • CSharp: csharp/csharp.parquet
      • Go: go/go.parquet
      • Java: java/java.parquet
      • Kotlin: kotlin/kotlin.parquet
      • PHP: php/php.parquet
      • Ruby: ruby/ruby.parquet
      • Rust: rust/rust.parquet
      • Scala: scala/scala.parquet
      • TypeScript: ts/ts.parquet

任务结构

  • Dockerfile: 环境构建指令
  • docker-compose.yml: Docker Compose配置
  • Makefile: 自动化脚本
  • apply_fix.sh: 应用修复的脚本
  • apply_test.sh: 应用测试的脚本
  • run_tests.sh: 运行测试的脚本
  • logs/: 执行日志目录
  • patches/: 补丁目录
    • fix.patch: 修复补丁
    • test.patch: 测试补丁

示例任务

  • 语言: Rust
  • 仓库: tokio-rs__mio
  • 问题ID: 1706
  • 任务结构:
    • Dockerfile: 基于rust:1.74-slim构建
    • docker-compose.yml: 运行配置
    • Makefile: 简单构建命令
    • apply_fix.sh: 应用修复补丁
    • apply_test.sh: 应用测试补丁
    • run_tests.sh: 应用补丁后运行测试
    • logs/: 包含测试执行日志
    • patches/: 包含修复补丁和测试补丁

运行任务步骤

  1. 导航到任务目录
  2. 执行make run
  3. logs/目录中检查结果
搜集汇总
数据集介绍
main_image_url
构建方式
SWE-Bench-Demo数据集的构建过程体现了软件工程领域的严谨性,通过系统化采集GitHub开源项目的真实问题追踪记录(issue)和合并请求(pull request)形成基准任务。研究人员从多语言生态系统中精选典型代码库,为每个任务配置完整的开发环境(Dockerfile)、自动化脚本(Makefile)及补丁文件(.patch),并通过结构化存储方式将测试日志、修复补丁与原始问题描述进行精确关联。数据集采用列式存储的Parquet格式组织,确保高效访问与跨语言兼容性。
使用方法
使用该数据集时,研究人员可通过预置的Docker环境快速复现缺陷场景,利用apply_fix.sh和run_tests.sh脚本链式执行修复验证流程。典型工作流包括:解析parquet文件获取任务元数据,加载对应语言环境的容器镜像,依次应用测试补丁和修复补丁,最终通过日志分析验证模型输出。数据集支持跨任务批量处理,Makefile提供的标准化接口允许灵活集成到CI/CD管道或机器学习训练框架中。
背景与挑战
背景概述
SWE-Bench-Demo数据集作为软件工程领域的重要资源,由专业研究团队构建,旨在评估模型在自动修复代码缺陷及执行代码修改任务中的能力。该数据集覆盖多种主流编程语言,包括C++、Java、Rust等,通过真实开源项目的具体问题场景,为研究者提供了丰富的测试与训练素材。其核心研究问题聚焦于如何提升机器学习模型理解复杂代码逻辑、定位潜在缺陷并生成有效修复方案的能力,对推动智能编程辅助工具的发展具有显著意义。
当前挑战
该数据集面临的挑战主要体现在两个方面:其一,在解决领域问题层面,代码缺陷修复涉及对程序语义的深层理解,模型需克服不同编程语言的语法差异、上下文依赖及跨文件引用等复杂情况;其二,在构建过程中,需确保收集的缺陷案例具有代表性,同时精确标注修复补丁与测试用例,这对数据清洗、版本控制及环境复现提出了极高要求。多语言支持的实现进一步增加了数据一致性与标准化处理的难度。
常用场景
经典使用场景
在软件工程领域,SWE-Bench-Demo数据集为自动程序修复技术的研究提供了丰富的实验场景。该数据集通过收集多种编程语言的开源项目问题修复记录,构建了一个包含问题描述、修复补丁和测试用例的标准化测试平台。研究者可以基于该数据集评估不同模型在理解问题描述、生成修复代码和验证修复效果方面的能力,特别是在跨语言场景下的泛化性能。
解决学术问题
该数据集有效解决了自动程序修复研究中缺乏标准化评估基准的难题。通过提供真实开源项目中的问题修复全流程数据,包括问题跟踪系统的原始记录、开发者讨论线索和最终采纳的修复方案,使研究者能够深入分析缺陷定位、补丁生成和测试验证等关键环节。这种端到端的数据支持,显著提升了自动程序修复研究的可重复性和可比性,推动了该领域从理论方法到实用技术的转化。
实际应用
在工业界实践中,SWE-Bench-Demo数据集被广泛应用于持续集成系统的智能增强。科技企业利用该数据集训练模型来自动识别构建失败原因,并生成候选修复方案。特别是在多语言混合开发环境中,数据集涵盖的C++、Java、Rust等语言样本,帮助开发了能够跨语言迁移修复知识的智能系统,显著降低了软件维护成本。
数据集最近研究
最新研究方向
在软件工程领域,自动化的缺陷修复和代码修改技术正逐渐成为研究热点。SWE-Bench-Demo数据集作为评估模型自动修复缺陷能力的重要基准,涵盖了多种编程语言和项目场景,为研究者提供了丰富的实验数据。近年来,基于该数据集的研究主要集中在利用深度学习模型进行端到端的缺陷定位与修复,结合自然语言处理技术理解问题描述,并生成高质量的补丁。随着大语言模型在代码生成任务中的卓越表现,如何将这些模型适配到具体的缺陷修复场景,成为当前的前沿探索方向。该数据集的多样性和真实性为评估模型在实际开发环境中的泛化能力提供了可靠依据,推动了自动化软件维护工具的发展。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作