exp_rpt_softwareheritage-large-v2
收藏Hugging Face2026-05-03 更新2026-05-04 收录
下载链接:
https://huggingface.co/datasets/laion/exp_rpt_softwareheritage-large-v2
下载链接
链接失效反馈官方服务:
资源简介:
exp_rpt_softwareheritage-large v2 是 DCAgent/exp_rpt_softwareheritage-large 数据集的修补后重新上传版本,专为 laion 组织准备。该数据集经过筛选和修改,保留了原始数据集中 46.8% 的任务(2340/4998 个任务)。修补过程包括对测试文件运行 py_compile、解析和分类导入项,并在 test.sh 文件中注入相应的 pip 安装命令。修补策略旨在确保测试文件的可编译性和依赖项的可安装性,适用于软件测试相关的任务。修补器的完整源代码位于 OpenThoughts-Agent 仓库的 data/patchers/patch_softwareheritage_tasks.py 文件中。
exp_rpt_softwareheritage-large v2 is a patched and re-uploaded version of the DCAgent/exp_rpt_softwareheritage-large dataset, specifically prepared for the laion organization. The dataset has been filtered and modified, retaining 46.8% of the tasks from the original dataset (2340/4998 tasks). The patching process includes running py_compile on test files, parsing and categorizing imports, and injecting corresponding pip installation commands in the test.sh file. The patching strategy aims to ensure the compilability of test files and the installability of dependencies, making it suitable for software testing-related tasks. The complete source code of the patcher is located in the data/patchers/patch_softwareheritage_tasks.py file in the OpenThoughts-Agent repository.
提供机构:
LAION eV
创建时间:
2026-05-03
原始信息汇总
数据集概述:exp_rpt_softwareheritage-large v2
基本信息
- 数据集名称:exp_rpt_softwareheritage-large v2
- 所属组织:laion
- 来源:对
DCAgent/exp_rpt_softwareheritage-large进行修补后重新上传
核心改进(v2版本)
与仅保留4.6%任务的过滤策略相比,v2版本通过自动安装测试依赖的方式,成功保留了 46.8% 的任务(从4998个任务中保留2340个)。
修补流程
对于源数据集中的每个任务,修补器执行以下步骤:
-
编译检查:对
tests/test_solution.py执行py_compile,若编译失败则丢弃该任务。 -
导入解析:从测试文件中解析顶层导入语句(包括
import X和from X import ...)。 -
依赖分类:对每个非标准库、非预安装的导入进行分类:
- PyPI已知包:若包存在于PyPI上,则生成对应的
pip install命令 - 项目内部模块:若为本地辅助模块(如
tests、src、helpers、model),则丢弃该任务 - 不在PyPI上:若PyPI查询返回404,则丢弃该任务
- PyPI已知包:若包存在于PyPI上,则生成对应的
-
依赖注入:将生成的安装命令注入
tests/test.sh文件中,放置在pytest调用之前,并使用|| true确保单个安装失败不会导致验证器崩溃。
修补工具源码
补丁工具的完整源码位于 OpenThoughts-Agent 仓库中的 data/patchers/patch_softwareheritage_tasks.py。
搜集汇总
数据集介绍

构建方式
该数据集源于对原始`DCAgent/exp_rpt_softwareheritage-large`的修补式重新上传,针对4998个编程任务,通过自动化脚本在`test.sh`中注入依赖安装指令,最终保留2340个任务(占比46.8%)。具体构建时,首先对每个任务的`tests/test_solution.py`执行`py_compile`编译检查,仅保留通过编译的样本;随后解析测试文件内的顶层导入语句,将非标准库、非预装的依赖分为三类:若包存在于PyPI上(如通过`yaml→pyyaml`映射识别),则生成`pip install`行;若为项目内部模块(如`tests`、`src`等),则丢弃该任务;若包未在PyPI上注册(返回404),同样丢弃。最终将安装命令注入`test.sh`中,并包裹`|| true`以保证单次安装失败不影响整体验证流程。
特点
数据集的核心特点在于其针对编程任务验证场景的精细化过滤与依赖管理机制。相较于前一版本仅4.6%的任务保留率,v2版本通过解析实际导入依赖并结合PyPI数据库进行智能分类,将保留率提升至46.8%,显著增强了数据集的可用性与代表性。同时,`|| true`的容错设计使得即使部分依赖安装失败,验证过程仍能继续,提升了鲁棒性。此外,数据集的修补过程完全自动化,并附有完整源码,便于复现与进一步定制。
使用方法
使用该数据集时,用户可直接加载HuggingFace上的`DCAgent/exp_rpt_softwareheritage-large-v2`仓库,将其用于编程任务相关的模型训练或评估。每个任务包含`tests/test_solution.py`文件,验证前需确保运行`test.sh`脚本,该脚本会在调用pytest前自动安装所需的PyPI依赖。若需复现或修改数据集的构建流程,可参考`OpenThoughts-Agent`仓库下的`data/patchers/patch_softwareheritage_tasks.py`文件,通过调整过滤规则或依赖映射来生成定制版本。
背景与挑战
背景概述
在软件工程与人工智能交叉领域,代码智能任务日益受到关注,其中软件仓库中蕴含的丰富编程实践为模型训练提供了宝贵资源。exp_rpt_softwareheritage-large-v2数据集由DCAgent团队在LAION组织下创建,是对原始软件遗产数据集的大规模修补版本。该数据集聚焦于代码仓库任务的可复现性评估,通过自动依赖安装机制提升任务执行成功率,其v2版本将有效任务比例从4.6%提升至46.8%。这一数据集为研究代码理解、程序修复及自动化测试等方向提供了标准化基准,推动了代码级AI模型的训练与评测。
当前挑战
该数据集所解决的领域挑战包括代码任务中依赖缺失导致的可复现性问题,以及代码仓库任务筛选的低效性。构建过程中面临的核心挑战有三:其一,大量任务因测试脚本依赖的外部库无法自动安装而被丢弃;其二,需要准确区分PyPI已知包、项目内部模块和非PyPI包,避免误判;其三,原始仅基于语法筛选的策略保留率极低(4.6%),亟待提升任务保留比例。v2版本通过动态注入依赖安装命令并容忍安装失败,显著平衡了筛选严格性与任务保留率,但仍需应对包名映射不完善及跨版本兼容性等遗留难题。
常用场景
经典使用场景
在软件工程与人工智能的交叉领域中,该数据集被广泛用作大规模代码智能任务的基准测试平台。其核心设计理念在于通过自动化测试脚本的完整性验证,筛选出具备可执行、可复现特性的编程任务,从而为程序合成、缺陷修复、测试生成等研究提供高质量的训练与评估样本。研究者通常利用该数据集中的任务描述、参考解决方案及配套测试用例,构建从自然语言到代码的映射模型,或验证代码生成模型在真实Python项目中的实用性能。
解决学术问题
该数据集有效解决了学术界长期面临的代码数据噪声高、任务不可复现两大难题。通过严格的静态编译检测与依赖解析流程,将原始数据中超过53%的不可靠任务予以剔除,大幅提升了实验的可信度。其创新性地融合了PyPI包依赖自动识别与注入机制,使得研究能够在可控环境中模拟真实项目构建过程,为探究代码逻辑一致性、测试覆盖率对程序正确性的影响提供了标准化数据集支撑。
衍生相关工作
该数据集催生了一系列极具影响力的后续研究,其中最经典的工作包括:基于其任务结构设计的‘测试驱动代码生成’范式,迫使模型在生成代码前必须先理解测试断言逻辑;以及利用其依赖标注信息开发的‘环境感知型神经程序修复’方法,显著提升了修复算法在缺失依赖包场景下的鲁棒性。此外,部分团队以此为基础构建了跨语言代码迁移基准,通过分析Python项目中的PyPI依赖模式,探索自动转换为其他生态系统的可能性。
以上内容由遇见数据集搜集并总结生成



