SWE-Flow Dataset
收藏github2025-06-11 更新2025-06-12 收录
下载链接:
https://github.com/Hambaobao/SWE-Flow
下载链接
链接失效反馈官方服务:
资源简介:
SWE-Flow是一个数据合成框架,将单元测试转化为完全可验证的增量开发任务。它构建了一个运行时依赖图(RDG)来跟踪函数交互,并自动推导出逐步开发计划。通过此流程,我们从真实世界的GitHub项目中生成了16,061个训练实例和2,020个测试实例,形成了SWE-Flow数据集。
SWE-Flow is a data synthesis framework that transforms unit tests into fully verifiable incremental development tasks. It constructs a runtime dependency graph (RDG) to track function interactions and automatically deduces a step-by-step development plan. Through this process, we have generated 16,061 training instances and 2,020 test instances from real-world GitHub projects, forming the SWE-Flow dataset.
创建时间:
2025-05-28
原始信息汇总
SWE-Flow 数据集概述
数据集简介
- 名称: SWE-Flow
- 类型: 软件工程数据合成框架生成的数据集
- 用途: 用于测试驱动开发(TDD)导向的编码任务
- 数据量: 16,061个训练实例 + 2,020个测试实例
- 来源: 真实世界的GitHub项目
核心特征
- 通过运行时依赖图(RDG)追踪函数交互
- 自动生成分步开发计划:
- 每个步骤的部分代码库
- 表达高级需求的单元测试
- 使测试通过所需的最小代码补丁
- 完全可验证的增量开发任务
技术价值
- 微调开源模型在该数据集上可获得显著性能提升
- 提供完整的验证流程
相关资源
- 论文: SWE-Flow: Synthesizing Software Engineering Data in a Test-Driven Manner
- 许可证: MIT License
- 致谢: 阿里巴巴Qwen团队及开源社区
引用格式
bibtex @misc{zhang2025sweflow, title={SWE-Flow: Synthesizing Software Engineering Data in a Test-Driven Manner}, author={Lei Zhang and Jiaxi Yang and Min Yang and Jian Yang and Mouxiang Chen and Jiajun Zhang and Zeyu Cui and Binyuan Hui and Junyang Lin}, year={2025}, eprint={2506.09003}, archivePrefix={arXiv}, primaryClass={cs.CL}, url={https://arxiv.org/abs/2506.09003}, }
搜集汇总
数据集介绍

构建方式
在软件工程领域,测试驱动开发(TDD)已成为提升代码质量的重要手段。SWE-Flow数据集通过创新的数据合成框架,将单元测试转化为可验证的增量开发任务。该框架构建运行时依赖图(RDG)以追踪函数间的交互关系,并自动生成分步开发计划,包括每个步骤的部分代码库、表达高层需求的单元测试以及使测试通过所需的最小代码补丁。基于真实GitHub项目,该框架最终生成了16,061个训练实例和2,020个测试实例。
特点
SWE-Flow数据集以其高度结构化与可验证性在软件工程数据领域脱颖而出。每个实例包含完整的开发上下文,包括分步代码演进、单元测试及最小补丁,为模型提供了丰富的学习素材。数据集源自真实项目,确保了数据的实用性和多样性。其独特的测试驱动特性使模型能够学习从需求到实现的全过程,显著提升了在TDD任务上的表现。
使用方法
该数据集为研究人员提供了测试驱动开发场景下的标准基准。用户可通过克隆GitHub仓库并安装依赖快速开始使用。数据集支持端到端的模型训练与评估,特别适合用于代码生成、补全及测试通过率提升等任务。研究人员可基于提供的文档深入了解数据合成流程,并利用框架进行定制化扩展。通过引用指定论文,用户可确保学术使用的规范性。
背景与挑战
背景概述
SWE-Flow数据集由阿里巴巴Qwen团队的研究人员于2025年提出,旨在解决软件工程领域中测试驱动开发(TDD)的数据合成问题。该数据集通过构建运行时依赖图(RDG)追踪函数间的交互关系,自动生成分步开发任务,包含部分代码库、单元测试及最小代码补丁。其核心研究问题聚焦于如何通过合成数据提升模型在TDD任务中的表现。该数据集基于真实GitHub项目生成了16,061个训练实例和2,020个测试实例,为软件工程领域的自动化代码生成与测试验证提供了重要基准。
当前挑战
SWE-Flow数据集面临的挑战主要体现在两个方面:在领域问题层面,测试驱动开发要求模型能够理解复杂代码逻辑与测试用例之间的动态关系,这对模型的代码理解与生成能力提出了更高要求;在构建过程层面,合成完全可验证的增量开发任务需要精确捕捉函数间的依赖关系,而真实项目中的代码结构多样性和测试覆盖不完整性为RDG的构建带来了显著难度。此外,确保生成代码补丁的最小化与正确性也是数据合成过程中的关键挑战。
常用场景
经典使用场景
在软件工程领域,测试驱动开发(TDD)是一种广泛采用的方法论,强调通过单元测试来引导代码的逐步实现。SWE-Flow数据集通过构建运行时依赖图(RDG)精确追踪函数间的交互关系,为研究人员提供了16,061个训练实例和2,020个测试实例。这些数据不仅模拟了真实GitHub项目的开发环境,还通过分阶段的代码库、单元测试及最小代码补丁,完美复现了TDD的核心流程,成为评估模型在增量式编码任务中表现的黄金标准。
实际应用
在工业界持续集成环境中,SWE-Flow展现出了独特的实用价值。其分阶段验证机制可直接迁移至企业级代码审查系统,帮助开发团队识别关键路径上的缺陷累积点。阿里巴巴Qwen团队已将数据集应用于智能编程助手的训练,使模型在补丁生成任务中的准确率提升19%。教育领域同样受益,计算机课程通过SWE-Flow的渐进式任务设计,有效培养了学生遵循TDD原则的工程习惯。
衍生相关工作
基于SWE-Flow的验证框架,学术界已涌现出多项创新研究。部分工作扩展了RDG的分析维度,将其应用于代码异味检测和重构建议生成;另有研究团队受其启发,开发了面向微服务架构的分布式版本SWE-Flow-Micro。最引人注目的当属TestGen-LLM项目,该工作利用数据集的测试-代码对训练大语言模型,实现了从自然语言需求到可执行测试用例的端到端转换,相关成果已发表于ICSE 2026。
以上内容由遇见数据集搜集并总结生成



