The reproducibility of software environments is a critical concern in modern software engineering, with ramifications ranging from the effectiveness of collaboration workflows to software supply chain security and scientific reproducibility. Containerization technologies like Docker address this problem by encapsulating software environments into shareable filesystem snapshots known as images. While Docker is frequently cited in the literature as a tool that enables reproducibility in theory, the extent of its guarantees and limitations in practice remains under-explored. In this work, we address this gap through two complementary approaches. First, we conduct a systematic literature review to examine how Docker is framed in scientific discourse on reproducibility and to identify documented best practices for writing Dockerfiles enabling reproducible image building. Then, we perform a large-scale empirical study of 5298 Docker builds collected from GitHub workflows. By rebuilding these images and comparing the results with their historical counterparts, we assess the real reproducibility of Docker images and evaluate the effectiveness of the best practices identified in the literature.


翻译:软件环境的可复现性是现代软件工程中的关键问题,其影响范围涵盖协作工作流的有效性、软件供应链安全以及科学研究的可复现性。以 Docker 为代表的容器化技术通过将软件环境封装成可共享的文件系统快照(即镜像)来解决这一问题。尽管文献中常将 Docker 视为理论上可实现可复现性的工具,但其在实际应用中的保证程度与局限性仍未得到充分探究。本研究通过两种互补方法填补这一空白:首先,我们开展系统性文献综述,考察 Docker 在科学论述中如何被构建为可复现性工具,并识别出文献中记载的、能够实现可复现镜像构建的 Dockerfile 编写最佳实践;随后,我们对从 GitHub 工作流收集的 5298 个 Docker 构建进行大规模实证研究。通过重建这些镜像并将其结果与历史版本进行对比,我们评估了 Docker 镜像的实际可复现性,并对文献中识别的最佳实践的有效性进行了验证。

0
下载
关闭预览

相关内容

Docker - An open platform for distributed applications for developers and sysadmins.
《软件定义网络元素与机器代码的形式化验证》
专知会员服务
12+阅读 · 2025年11月18日
大模型报告:模型能力决定下限,场景适配度决定上限
专知会员服务
57+阅读 · 2024年6月3日
【2020新书】使用Kubernetes开发高级平台,519页pdf
专知会员服务
69+阅读 · 2020年9月19日
GraphSAGE:我寻思GCN也没我牛逼
极市平台
12+阅读 · 2019年8月12日
通过Docker安装谷歌足球游戏环境
CreateAMind
12+阅读 · 2019年7月7日
你的算法可靠吗? 神经网络不确定性度量
专知
40+阅读 · 2019年4月27日
环保袋:你用它的方式,可能很不环保
果壳网
12+阅读 · 2019年3月10日
被动DNS,一个被忽视的安全利器
运维帮
11+阅读 · 2019年3月8日
超像素、语义分割、实例分割、全景分割 傻傻分不清?
计算机视觉life
19+阅读 · 2018年11月27日
占坑!利用 JenKins 持续集成 iOS 项目时遇到的问题
【学界】机器学习模型的“可解释性”到底有多重要?
GAN生成式对抗网络
12+阅读 · 2018年3月3日
国家自然科学基金
1+阅读 · 2017年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
VIP会员
相关VIP内容
《软件定义网络元素与机器代码的形式化验证》
专知会员服务
12+阅读 · 2025年11月18日
大模型报告:模型能力决定下限,场景适配度决定上限
专知会员服务
57+阅读 · 2024年6月3日
【2020新书】使用Kubernetes开发高级平台,519页pdf
专知会员服务
69+阅读 · 2020年9月19日
相关资讯
GraphSAGE:我寻思GCN也没我牛逼
极市平台
12+阅读 · 2019年8月12日
通过Docker安装谷歌足球游戏环境
CreateAMind
12+阅读 · 2019年7月7日
你的算法可靠吗? 神经网络不确定性度量
专知
40+阅读 · 2019年4月27日
环保袋:你用它的方式,可能很不环保
果壳网
12+阅读 · 2019年3月10日
被动DNS,一个被忽视的安全利器
运维帮
11+阅读 · 2019年3月8日
超像素、语义分割、实例分割、全景分割 傻傻分不清?
计算机视觉life
19+阅读 · 2018年11月27日
占坑!利用 JenKins 持续集成 iOS 项目时遇到的问题
【学界】机器学习模型的“可解释性”到底有多重要?
GAN生成式对抗网络
12+阅读 · 2018年3月3日
相关基金
国家自然科学基金
1+阅读 · 2017年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员