In this project, we work on the following aspects of feature-model analysis related to computing the number of valid configuration:
- Gather use-case scenarios for feature-model counting
- Identify scalable solutions for computing the number of valid configurations
- Optimize and tailor existing solutions for the application on feature models
- Develop new algorithms and tools to support analysis
Motivation
Feature-model counting enables a large variety of analyses. These range from simple analyses, such as prioritizing errors that appear in more valid configurations, to more complex computations such as finding a uniformly distributed sample of configurations.
Model Counting aka #SAT
The #SAT problem corresponds to computing the number of satisfying assignments of a propositional formula. By translating a feature model to a formula, we can reduce computing the number of valid configurations to a #SAT problem. This allows the usage of heavily optimized tools, #SAT solvers, that have made significant advances in the last decade. Nevertheless, we have seen feature models in the wild that cannot be analyzed within weeks of runtime.