Configuring BDD Compilation Techniques for Feature Models

From International Center for Computational Logic

Toggle side column

Configuring BDD Compilation Techniques for Feature Models

Clemens DubslaffClemens Dubslaff,  Nils HusungNils Husung,  Nikolai KäferNikolai Käfer
Clemens Dubslaff, Nils Husung, Nikolai Käfer
Configuring BDD Compilation Techniques for Feature Models
Proceedings of the 28th ACM International Systems and Software Product Line Conference - Volume A, SPLC '24, 209–216, 2024. Association for Computing Machinery
  • KurzfassungAbstract
    The compilation of feature models into binary decision diagrams (BDDs) is a major challenge in the area of configurable systems analysis. Many large-scale feature models have been reported to exceed state-of-the-art compilation capabilities, e.g., for variants of the Linux kernel product line. However, experiments have been mainly conducted on standard settings of the BDD compilers themselves, not taking advanced configurations into account. In this paper, we investigate the impact of various BDD compilation techniques for compiling feature models in conjunctive normal form. Specifically, we evaluate preprocessing techniques from satisfiability (SAT) solving, variable and clause ordering heuristics, non-incremental construction schemes, as well as parallelization of BDD construction. Our experiments on current feature models show that BDD compilation of feature models greatly benefits from these techniques, enabling to construct many previously not constructible large-scale feature models within seconds.
  • Forschungsgruppe:Research Group: Algebraische und logische Grundlagen der InformatikAlgebraic and Logical Foundations of Computer Science
@inproceedings{DHK2024,
  author    = {Clemens Dubslaff and Nils Husung and Nikolai K{\"{a}}fer},
  title     = {Configuring {BDD} Compilation Techniques for Feature Models},
  booktitle = {Proceedings of the 28th {ACM} International Systems and Software
               Product Line Conference - Volume A},
  series    = {SPLC '24},
  publisher = {Association for Computing Machinery},
  year      = {2024},
  pages     = {209{\textendash}216},
  doi       = {10.1145/3646548.3676538}
}