Reproducible Builds (R-B) guarantee that rebuilding a software package from source leads to bitwise identical artifacts. R-B is a promising approach to increase the integrity of the software supply chain, when installing open source software built by third parties. Unfortunately, despite success stories like high build reproducibility levels in Debian packages, uncertainty remains among field experts on the scalability of R-B to very large package repositories. In this work, we perform the first large-scale study of bitwise reproducibility, in the context of the Nix functional package manager, rebuilding 709 816 packages from historical snapshots of the nixpkgs repository, the largest cross-ecosystem open source software distribution, sampled in the period 2017-2023. We obtain very high bitwise reproducibility rates, between 69 and 91% with an upward trend, and even higher rebuildability rates, over 99%. We investigate unreproducibility causes, showing that about 15% of failures are due to embedded build dates. We release a novel dataset with all build statuses, logs, as well as full ''diffoscopes'': recursive diffs of where unreproducible build artifacts differ.
EvidenT: An Evidence-Preserving Framework for Iterative System-Level Package Repair
Nankai University(南开大学);Microsoft(微软);Haihe Laboratory of Information Technology Application Innovation(海河信息技术应用创新实验室);Key Laboratory of Data and Intelligent System Security, Ministry of Education(教育部数据与智能系统安全重点实验室);Tianjin Key Laboratory of Software Experience and Human Computer Interaction(天津市软件体验与人机交互重点实验室);Tsinghua University(清华大学)
Empirical Evaluation of AI-Assisted Software Package Selection: A Knowledge Graph Approach
Computer Science, Utrecht University, Utrecht, The Netherlands Michel Chaudron Department of Mathematics;Computer Science, TU Eindhoven, Eindhoven, The Netherlands