Beyond Boolean Product-Line Model Checking: Dealing with Feature Attributes and Multi-features

Maxime Cordy, Pierre-Yves Schobbens, Patrick Heymans, and Axel Legay

University of Namur, Belgium; INRIA, France

Track: Technical Research
Session: Product Lines
Model checking techniques for software product lines (SPL) are actively researched. A major limitation they currently have is the inability to deal efficiently with non-Boolean features and multi-features. An example of a non-Boolean feature is a numeric attribute such as maximum number of users which can take different numeric values across the range of SPL products. Multi-features are features that can appear several times in the same product, such as processing units which number is variable from one product to another and which can be configured independently. Both constructs are extensively used in practice but currently not supported by existing SPL model checking techniques. To overcome this limitation, we formally define a language that integrates these constructs with SPL behavioural specifications. We generalize SPL model checking algorithms correspondingly and evaluate their applicability. Our results show that the algorithms remain efficient despite the generalization.