Solving Linux Upgradeability Problems Using Boolean Optimization
Josep Argelich (DIEI), Daniel Le Berre (CRIL-CNRS), In\^es Lynce, (INESC-ID/IST), Joao Marques-Silva (CSI/CASL), Pascal Rapicault (Sonatype)

TL;DR
This paper presents two SAT-based tools designed to efficiently solve complex Linux package upgradeability problems, aiming for optimal solutions despite the computational challenges involved.
Contribution
The paper introduces two novel Boolean satisfiability-based tools for Linux upgradeability, demonstrating their effectiveness on real-world instances and highlighting their potential for broader configuration problems.
Findings
Tools can find optimal solutions for many real-world instances.
Some instances remain challenging for the tools.
Techniques may be applicable to other configuration problems.
Abstract
Managing the software complexity of package-based systems can be regarded as one of the main challenges in software architectures. Upgrades are required on a short time basis and systems are expected to be reliable and consistent after that. For each package in the system, a set of dependencies and a set of conflicts have to be taken into account. Although this problem is computationally hard to solve, efficient tools are required. In the best scenario, the solutions provided should also be optimal in order to better fulfill users requirements and expectations. This paper describes two different tools, both based on Boolean satisfiability (SAT), for solving Linux upgradeability problems. The problem instances used in the evaluation of these tools were mainly obtained from real environments, and are subject to two different lexicographic optimization criteria. The developed tools can…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Software Engineering Methodologies · Distributed and Parallel Computing Systems · Advanced Data Storage Technologies
