Fixing Dependency Errors for Python Build Reproducibility
Sat 17 Jul 2021 02:10 - 02:30 at ISSTA 2 - Session 22 (time band 2) Bugs and Analysis 1 Chair(s): Saeid Tizpaz-Niari
Software reproducibility is important for re-usability and the
cumulative progress of research. An important manifestation of
unreproducible software is the changed outcome of software builds over
time. While enhancing code reuse, the use of open-source dependency
packages hosted on centralized repositories such as PyPI can
have adverse effects on build reproducibility. Frequent updates to
these packages often cause their latest versions to have breaking
changes for applications using them. Large Python applications risk
their historical builds becoming unreproducible due to the widespread
usage of Python dependencies, and the lack of uniform practices for
dependency version specification. Manually fixing dependency errors
requires expensive developer time and effort, while automated
approaches face challenges of parsing unstructured build logs, finding
transitive dependencies, and exploring an exponential search space of
dependency versions. In this paper, we investigate how open-source
Python projects specify dependency versions, and how their
reproducibility is impacted by dependency packages. We propose a tool
PyDFix to detect and fix unreproducibility in Python builds caused by
dependency errors. PyDFix is evaluated on two bug datasets BugSwarm
and BugsInPy, both of which are built from real-world open-source
projects. PyDFix analyzes a total of 2,702 builds, identifying 1,921
(71.1%) of them to be unreproducible due to dependency errors. From
these, PyDFix provides a complete fix for 859 (44.7%) builds, and
partial fixes for an additional 632 (32.9%) builds.
Thu 15 JulDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
19:00 - 20:20 | Session 12 (time band 1) Configuration and Dependency Technical Papers at ISSTA 2 Chair(s): Jonathan Bell Northeastern University | ||
19:00 20mTalk | Fixing Dependency Errors for Python Build Reproducibility Technical Papers Suchita Mukherjee University of California at Davis, Abigail Almanza University of California at Davis, Cindy Rubio-González University of California at Davis DOI | ||
19:20 20mTalk | Test-Case Prioritization for Configuration TestingACM SIGSOFT Distinguished Paper Technical Papers Runxiang Cheng University of Illinois at Urbana-Champaign, Lingming Zhang University of Illinois at Urbana-Champaign, Darko Marinov University of Illinois at Urbana-Champaign, Tianyin Xu University of Illinois at Urbana-Champaign DOI | ||
19:40 20mTalk | The Impact of Tool Configuration Spaces on the Evaluation of Configurable Taint Analysis for Android Technical Papers DOI Pre-print | ||
20:00 20mTalk | Challenges and Opportunities: An In-Depth Empirical Study on Configuration Error Injection Testing Technical Papers Wang Li National University of Defense Technology, Zhouyang Jia National University of Defense Technology, Shanshan Li National University of Defense Technology, Yuanliang Zhang National University of Defense Technology, Teng Wang National University of Defense Technology, Erci Xu National University of Defense Technology, Ji Wang National University of Defense Technology, Liao Xiangke National University of Defense Technology DOI File Attached |
Sat 17 JulDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
01:10 - 02:30 | Session 22 (time band 2) Bugs and Analysis 1 Technical Papers at ISSTA 2 Chair(s): Saeid Tizpaz-Niari University of Texas at El Paso | ||
01:10 20mTalk | Faster, Deeper, Easier: Crowdsourcing Diagnosis of Microservice Kernel Failure from User Space Technical Papers Yicheng Pan Peking University, Meng Ma Peking University, Xinrui Jiang Peking University, Ping Wang Peking University DOI Media Attached File Attached | ||
01:30 20mTalk | iDEV: Exploring and Exploiting Semantic Deviations in ARM Instruction Processing Technical Papers Shisong Qin Tsinghua University, Chao Zhang Tsinghua University, Kaixiang Chen Tsinghua University, Zheming Li Tsinghua University DOI | ||
01:50 20mTalk | RAProducer: Efficiently Diagnose and Reproduce Data Race Bugs for Binaries via Trace Analysis Technical Papers Ming Yuan Tsinghua University, Yeseop Lee Tsinghua University, Chao Zhang Tsinghua University, Yun Li Tsinghua University, Yan Cai Institute of Software at Chinese Academy of Sciences, Bodong Zhao Tsinghua University DOI | ||
02:10 20mTalk | Fixing Dependency Errors for Python Build Reproducibility Technical Papers Suchita Mukherjee University of California at Davis, Abigail Almanza University of California at Davis, Cindy Rubio-González University of California at Davis DOI |