SWE-gen-Java
收藏github2026-02-23 更新2026-02-24 收录
下载链接:
https://github.com/abundant-ai/SWE-gen-Java
下载链接
链接失效反馈官方服务:
资源简介:
1000个JVM任务,从16个开源GitHub仓库使用SWE-gen生成。每个任务是一个合并的GitHub PR,包含1-10个编辑的源文件,具有Fail-to-Pass单元测试,并通过NOP(基线失败)和Oracle(修复成功)验证。
This dataset includes 1,000 JVM tasks generated via SWE-gen from 16 open-source GitHub repositories. Each task is a merged GitHub Pull Request (PR) containing 1 to 10 edited source files, equipped with Fail-to-Pass unit tests, and validated through NOP (baseline failure) and Oracle (successful repair) checks.
创建时间:
2026-02-05
原始信息汇总
SWE-gen-Java数据集概述
数据集基本信息
- 数据集名称:SWE-gen-Java
- 数据来源:从16个开源GitHub仓库生成
- 任务数量:1000个JVM任务
- 生成工具:使用SWE-gen生成
任务特征
- 每个任务对应一个已合并的GitHub拉取请求(PR)
- 每个任务涉及1-10个源文件的编辑
- 包含从失败到通过的单元测试(Fail-to-Pass unit tests)
- 通过NOP(基线失败)和Oracle(修复成功)验证
使用说明
-
依赖工具:需安装Harbor
-
运行命令示例: shell harbor run --dataset swe-gen-java --agent codex --model openai/gpt-5.2-codex --n-concurrent 4
-
数据获取:运行命令时自动下载任务数据
搜集汇总
数据集介绍
构建方式
在软件工程领域,自动化代码生成与修复任务的数据集构建需兼顾真实性与可验证性。SWE-gen-Java数据集源自16个开源GitHub仓库,通过SWE-gen工具系统性地提取了1000个JVM相关任务。每个任务对应一个已合并的GitHub拉取请求,其中涉及1至10个源文件的修改,并严格遵循“失败到通过”的单元测试范式。为确保数据质量,所有任务均经过NOP验证与Oracle验证,前者确认基线修复失败,后者则验证修正方案的成功执行,从而构建了一个高度可靠且适用于代码生成研究的基准数据集。
使用方法
使用SWE-gen-Java数据集时,研究人员可借助Harbor工具链实现高效的任务加载与实验执行。首先需安装Harbor工具,并配置相应的OpenAI API密钥以支持代码生成模型。通过命令行指定数据集名称、代理类型及并发参数,即可自动下载任务并启动评估流程。该流程允许用户灵活选择不同的代码生成模型进行测试,例如Codex等,系统将自动运行单元测试以验证生成代码的正确性,从而为模型性能提供量化指标,助力软件工程自动化研究的深入探索。
背景与挑战
背景概述
在软件工程领域,自动化代码生成与修复已成为提升开发效率的关键研究方向。SWE-gen-Java数据集于近年由Abundant AI团队基于SWE-gen框架构建,其核心研究问题聚焦于Java虚拟机(JVM)环境下的代码缺陷修复与单元测试验证。该数据集通过提取16个开源GitHub仓库中的合并拉取请求,生成了1000项涵盖1至10个源文件编辑的任务,每项任务均配备从失败到通过的单元测试,并经过NOP与Oracle验证确保基线失败与修复成功。这一资源为评估大型语言模型在代码生成与调试方面的能力提供了标准化基准,显著推动了智能软件工程工具的发展。
当前挑战
SWE-gen-Java数据集旨在解决代码自动修复领域的核心挑战,即如何准确识别并修正复杂软件项目中的功能性缺陷,同时确保修复后的代码通过严格的单元测试验证。构建过程中面临的挑战包括:从多样化的开源仓库中提取高质量、可复现的代码变更任务,需克服项目结构异构性与依赖管理的复杂性;设计有效的Fail-to-Pass测试用例以模拟真实开发场景,要求测试覆盖度与逻辑完备性的平衡;此外,数据验证环节需确保基线代码确实失败而修复后代码成功,这涉及对代码行为与测试套件的深度分析,以避免噪声数据影响评估可靠性。
常用场景
经典使用场景
在软件工程与人工智能交叉领域,SWE-gen-Java数据集为代码生成与修复研究提供了标准化评估基准。该数据集通过从16个开源GitHub仓库中提取1000个JVM任务,每个任务对应一个已合并的拉取请求,包含1至10个被编辑的源文件及从失败到通过的单元测试。研究者利用这些任务验证模型在真实编程环境中的代码补全与错误修复能力,尤其关注模型能否通过NOP和Oracle验证,确保修复方案既不过于简单也不偏离预期目标。
解决学术问题
该数据集有效应对了代码生成领域长期存在的评估标准化缺失问题。传统研究常依赖合成或小型任务,难以反映实际开发场景的复杂性。SWE-gen-Java通过整合真实GitHub提交记录与单元测试,为模型性能评估提供了可靠依据,解决了测试覆盖不足、任务真实性低等挑战。其Fail-to-Pass测试机制直接关联代码功能正确性,推动了自动化代码修复、程序合成等研究方向的方法论进步,增强了学术成果的可比性与可复现性。
实际应用
在实际软件开发流程中,SWE-gen-Java可服务于智能编程助手与自动化代码审查工具的研发。基于该数据集训练的模型能够识别代码缺陷并生成修复建议,辅助开发人员快速解决单元测试失败问题,提升代码质量与开发效率。企业可将其集成至持续集成管道,实现自动化测试与修复,减少人工调试成本。此外,教育领域也可借助此类任务设计编程练习,帮助学生理解常见错误模式与修复策略。
数据集最近研究
最新研究方向
在软件工程自动化领域,SWE-gen-Java数据集正推动代码生成与修复技术的前沿探索。该数据集通过整合真实GitHub仓库的合并请求,构建了包含单元测试验证的Java编程任务,为评估大语言模型在复杂代码变更场景下的性能提供了基准。当前研究热点聚焦于模型对多文件编辑、测试驱动修复的泛化能力,以及其在持续集成环境中的实际应用潜力。这一进展不仅加速了智能编程助手的发展,也为软件维护自动化奠定了实证基础,促进了人工智能与软件工程实践的深度融合。
以上内容由遇见数据集搜集并总结生成



