Model checking lots of systems: efficient verification of temporal properties in software product lines - Classen, Andreas; Heymans, Patrick; Schobbens, Pierre-Yves; Legay, Axel; Raskin, Jean-François (2010 ACM/IEEE 32nd International Conference on Software Engineering, 2010)
In product line engineering, systems are developed in families and differences between family members are expressed in terms of features. Formal modelling and verification is an important issue in this context as more and more critical systems are developed this way. Since the number of systems in a family can be exponential in the number of features, two major challenges are the scalable modelling and the efficient verification of system behaviour. Currently, the few attempts to address them fail to recognise the importance of features as a unit of difference, or do not offer means for automated verification. In this paper, we tackle those challenges at a fundamental level. We first extend transition systems with features in order to describe the combined behaviour of an entire system family. We then define and implement a model checking technique that allows to verify such transition systems against temporal properties. An empirical evaluation shows substantial gains over classical approaches.