DOE OSTI · 2223030
A Probabilistic Approach To Selecting Build Configurations in Package Managers
Abstract
In the past decade software has grown significantly in complexity and scale. Likewise the number of dependencies for most software has increased with typical software packages depending on tens to hundreds of other packages. Such large numbers of dependencies place a significant burden on package managers to correctly maintain dependency lists and constraints between them. Due to this package managers have incorporated sophisticated tooling such as SAT solvers into their dependency management mechanisms. Despite these tools package managers still rely on many human annotated constraints for dependency and version selection. These are error-prone and require a significant amount of labor to constantly update and test. In this paper we propose a methodology to make use of historical build results in selecting the version for package dependencies. Our method utilizes the flexibility of the Spack package manager’s heavily parameterized package configurations to incorporate a machine learning model trained to predict the probability of build outcomes. This work is able to build and install packages with a 13% higher success rate than the default version selection mechanism in Spack.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Nichols, Daniel, Menon, Harshitha, Gamblin, Todd, Bhatele, Abhinav. 2023-11-29. A Probabilistic Approach To Selecting Build Configurations in Package Managers. https://doi.org/10.2172/2223030
Cite the original work for its findings. Save a collection to share your selection of sources.