2010
DOI: 10.4204/eptcs.29.2
|View full text |Cite
|
Sign up to set email alerts
|

Solving Linux Upgradeability Problems Using Boolean Optimization

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… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
44
0

Year Published

2011
2011
2022
2022

Publication Types

Select...
5
3
1

Relationship

1
8

Authors

Journals

citations
Cited by 36 publications
(44 citation statements)
references
References 5 publications
(5 reference statements)
0
44
0
Order By: Relevance
“…In the worst case, the search has to analyze |V| |M|−1 possible configurations. Moreover, generating new configurations at Step 3 has high memory demands: for example, if a configuration is invalid and requires 15 additional modules, each having eight versions to choose from, a total of 8 15 …”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…In the worst case, the search has to analyze |V| |M|−1 possible configurations. Moreover, generating new configurations at Step 3 has high memory demands: for example, if a configuration is invalid and requires 15 additional modules, each having eight versions to choose from, a total of 8 15 …”
Section: Discussionmentioning
confidence: 99%
“…Academic research has explored the possibilities of applying advanced logic-based techniques (e.g., pseudo-boolean optimization [15], [16] and mixed integer linear programming [17]) to dependency solving. The latter approach has became a clear winner in the recent Mancoosi International Solver Competition [5], while p2cudf [15] showed better results than the other solvers on the dependency requirements extracted from a real software system (Debian) rather than synthesised by the competition organizers.…”
Section: Related Workmentioning
confidence: 99%
“…The actual installability check work is performed by a specialized solver, that uses the SAT encoding [18] and employs an ad hoc customized Davis-Putnam SAT solver [9] by default instead of the many other standalone solvers now available for dependency solving like [6,10,13,14,20]. Since all computations are performed in-memory and some of the encoding work is shared between all packages, this solver performs significantly faster than a naive approach that would construct a separate SAT encoding for the installability of each package, and then run an off-the-shelf SAT solver on it.…”
Section: Distcheck and Buildcheckmentioning
confidence: 99%
“…With the current basic preferences used in MISC, it is not possible to express this alignment property, and one can see that even the best solutions in the MISC 2010 competition may contain strange component combinations : for example, the solutions found by the competition entrants for the problem eeee44ce 3 These are potential sources of confusion for a user that finds documentation way ahead of the installed binaries or sources way behind the installed libraries. In the case of mixed versions of important libraries, like gs in version 8.64 dfsg-1+squeeze1 which is used with gs-common version 8.71 dfsg-4 in the same example, one can even experience real incompatibilities, due to combination of components that have not been thoroughly tested together.…”
Section: Component Alignmentmentioning
confidence: 99%