A Comparative Analysis of Backbone Algorithms for Configurable Software Systems
Luis Cambelo, Ruben Heradio, Jose-Miguel Horcas, Dictino Chaos, David Fernandez-Amoros

TL;DR
This study evaluates backbone algorithms on real-world variability model formulas, providing practical guidelines for algorithm selection and highlighting the need for adaptive chunk size estimation to improve performance.
Contribution
It offers the first comprehensive empirical comparison of backbone algorithms on formulas from real-world variability models, revealing structural differences and practical performance insights.
Findings
Algorithm 2/3 is effective for formulas with up to 1,000 variables.
Algorithm 5 with adaptive chunk size outperforms for larger formulas.
Filtering heuristics generally do not improve performance.
Abstract
The backbone of a Boolean formula is the set of literals that must be true in every assignment that satisfies the formula. This concept is fundamental to key operations on variability models, including propagating user configuration decisions to identify implied feature selections, detecting dead features and dead code blocks, and preprocessing formulas to accelerate knowledge compilation into tractable representations such as binary decision diagrams. Despite its importance, previous empirical studies have evaluated backbone algorithms solely on SAT competition formulas (typically engineered to test the limits of SAT solvers), leading to inconsistent conclusions about their performance. This study provides the first comprehensive evaluation of formulas derived from real-world variability models, analyzing 21 configurations of 5 state-of-the-art algorithms on 2,371 formulas from…
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 · Software System Performance and Reliability · Software Engineering Research
