five

Unreproducible Maven Releases

收藏
arXiv2025-04-30 更新2025-05-13 收录
下载链接:
http://arxiv.org/abs/2504.21679v1
下载链接
链接失效反馈
官方服务:
资源简介:
本数据集由KTH皇家理工学院斯德哥尔摩分校的研究人员创建,包含7961个不可复现的Maven发布版本。这些数据来源于Reproducible Central项目,该项目旨在验证Maven项目是否可复现。该数据集为研究Java项目构建过程中不可复现的原因提供了宝贵资源。

This dataset was created by researchers from KTH Royal Institute of Technology in Stockholm. It contains 7,961 non-reproducible Maven release versions. The data is sourced from the Reproducible Central project, which aims to verify whether Maven projects are reproducible. This dataset provides a valuable resource for researching the causes of non-reproducibility during the build process of Java projects.
提供机构:
KTH Royal Institute of Technology Stockholm, Sweden
创建时间:
2025-04-30
搜集汇总
数据集介绍
main_image_url
构建方式
该数据集通过分析Reproducible Central项目中12,283个不可复现的Maven构件构建而成。研究团队首先从Reproducible Central获取基础数据,随后应用三层过滤机制:排除需要人工干预的Maven项目、仅保留使用Maven构建工具的项目,以及去除未在Maven Central发布的构件。最终构建的包含7,961个不可复现Maven发布版本的数据集,每个版本都详细记录了groupId、artifactId、版本号及对应的Maven Central URL。
特点
该数据集具有三个显著特点:首先,它覆盖了Java生态系统中六大类不可复现构建的根本原因,包括构建清单、软件物料清单、文件系统差异等;其次,数据集规模庞大,包含12,283个不可复现构件对,是当前Java领域最全面的不可复现构建研究数据集;最后,数据集不仅记录了不可复现现象,还提供了详细的差异分析结果和分类标注,为后续研究提供了丰富的基础。
使用方法
该数据集可用于三个主要研究方向:通过分析构件差异探究不可复现构建的根本原因(RQ1);评估构件规范化技术(如OSS-Rebuild)对提升构建可复现性的效果(RQ2);研究字节码规范化工具(如jNorm)在缓解不可复现构建方面的作用(RQ3)。研究人员可通过GitHub获取数据集,使用diffoscope工具分析构件差异,并基于提供的分类体系进行深入分析。
背景与挑战
背景概述
Unreproducible Maven Releases数据集由KTH皇家理工学院和蒙特利尔大学的研究团队于2025年创建,旨在解决Java生态系统中软件构建不可复现的核心问题。该数据集基于Reproducible Central项目,包含7,961个不可复现的Maven模块和12,283个不可复现的构建产物,是目前Java领域规模最大的不可复现构建研究数据集。研究团队通过系统分析,首次提出了Java构建不可复现性的六类根本原因分类体系,并开发了Chains-Rebuild工具将复现成功率从9.48%提升至26.89%。这项工作对软件供应链安全、企业级Java应用构建验证等领域产生了重要影响,为构建可验证的软件发布流程提供了理论基础和实践工具。
当前挑战
该数据集面临的主要挑战体现在两个维度:在领域问题层面,需要解决Java构建过程中由时间戳、文件系统差异、字节码变异等非确定性因素导致的构建不可复现问题,这些问题使得软件供应链验证变得困难;在构建过程层面,数据集创建面临三大技术挑战:1) 需要处理Maven构建环境的差异性,包括JDK版本、构建工具配置等变量控制;2) 需开发自动化分析工具处理34,271个构建产物的差异比对;3) 需建立系统化的不可复现原因分类体系,涉及对12,283个diffoscope文件的模式识别与正则匹配。此外,数据集验证过程中还发现17.1%的字节码规范化工具jNorm崩溃案例,反映出底层技术的不稳定性。
常用场景
经典使用场景
在Java生态系统的软件供应链安全研究中,'Unreproducible Maven Releases'数据集被广泛应用于分析Maven构建不可复现性的根本原因。研究者利用该数据集识别构建过程中引入的非确定性因素,如时间戳、文件系统差异和JVM字节码变化等。通过对比参考构建与重建构建的差异,该数据集为构建复现性验证提供了实证基础,尤其在安全关键型系统(如金融和政府服务应用)中具有重要价值。
解决学术问题
该数据集系统性地解决了Java构建不可复现性的分类与归因问题。通过分析12,283个不可复现构件,研究者首次提出了涵盖构建清单、软件物料清单(SBOM)、文件系统、JVM字节码等6类根本原因的完整分类体系。其意义在于为学术界提供了可操作的缓解策略(如规范化技术),并填补了Java生态大规模构建复现性研究的空白,对软件供应链安全领域产生深远影响。
衍生相关工作
该数据集催生了多项重要研究:Xiong等人基于此开发了JavaBEPFix自动修复工具;Dietrich团队提出了四级二进制等价性验证框架;Keshani等人构建了AROMA系统来自动化Maven构件重建。此外,其分类体系被扩展应用到NPM、Python等其他生态系统的复现性研究中,形成了跨语言的软件供应链安全保障方法论。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作