Model checking lots of systems: efficient verification of temporal properties in software product lines

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.

[1]  Krzysztof Czarnecki,et al.  Verifying feature-based model templates against well-formedness OCL constraints , 2006, GPCE '06.

[2]  Klaus Pohl,et al.  Model Checking of Domain Artifacts in Product Line Engineering , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[3]  Martin Leucker,et al.  Modeling and Model Checking Software Product Lines , 2008, FMOODS.

[4]  Stefania Gnesi,et al.  Formal Modeling for Product Families Engineering , 2008, 2008 12th International Software Product Line Conference.

[5]  Moshe Y. Vardi,et al.  Memory-Ecient Algorithms for the Verication of Temporal Properties , 1992 .

[6]  Philippe Schnoebelen,et al.  The Complexity of Temporal Logic Model Checking , 2002, Advances in Modal Logic.

[7]  Stephan Merz,et al.  Model Checking , 2000 .

[8]  Stefania Gnesi,et al.  A behavioural model for product families , 2007, ESEC/SIGSOFT FSE.

[9]  Pierre Wolper,et al.  An Automata-Theoretic Approach to Automatic Program Verification (Preliminary Report) , 1986, LICS.

[10]  Pierre-Yves Schobbens,et al.  Feature Diagrams: A Survey and a Formal Semantics , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[11]  Felix Bachmann,et al.  A Meta-model for Representing Variability in Product Family Development , 2003, PFE.

[12]  Mario Kolberg,et al.  Feature interaction: a critical review and considered forecast , 2003, Comput. Networks.

[13]  E. Allen Emerson,et al.  Tree automata, mu-calculus and determinacy , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[14]  Morris Sloman,et al.  CONIC: an integrated approach to distributed computer control systems , 1983 .

[15]  Pierre-Yves Schobbens,et al.  What ' s in a Feature ? A Requirements Engineering Perspective , 2008 .

[16]  Christel Baier,et al.  Principles of model checking , 2008 .

[17]  Krzysztof Czarnecki,et al.  SAT-based analysis of feature models is easy , 2009, SPLC.

[18]  Kathi Fisler,et al.  Verifying cross-cutting features as open systems , 2002, SIGSOFT '02/FSE-10.

[19]  Mark Ryan,et al.  Feature integration using a feature construct , 2001, Sci. Comput. Program..

[20]  E. Emerson,et al.  Tree Automata, Mu-Calculus and Determinacy (Extended Abstract) , 1991, FOCS 1991.

[21]  Sebastián Uchitel,et al.  A foundation for behavioural conformance in software product line architectures , 2006, ROSATEA '06.

[22]  Pierre Wolper,et al.  Memory-efficient algorithms for the verification of temporal properties , 1990, Formal Methods Syst. Des..

[23]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[24]  Jan Mendling,et al.  Correctness-Preserving Configuration of Business Process Models , 2008, FASE.

[25]  Michal Antkiewicz,et al.  Mapping features to models: a template approach based on superimposed variants , 2005, GPCE'05.

[26]  Brice Morin,et al.  Taming Dynamically Adaptive Systems using models and aspects , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[27]  Dalal Alrajeh,et al.  Learning operational requirements from goal models , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[28]  Jean-Marc Jézéquel,et al.  Towards a UML Profile for Software Product Lines , 2003, PFE.

[29]  Kim G. Larsen,et al.  Modal I/O Automata for Interface and Product Line Theories , 2007, ESOP.

[30]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[31]  Jing Liu,et al.  Safety analysis of software product lines using state-based modeling , 2005, 16th IEEE International Symposium on Software Reliability Engineering (ISSRE'05).

[32]  Capers Jones,et al.  Embedded Software: Facts, Figures, and Future , 2009, Computer.

[33]  Paul Gastin,et al.  Fast LTL to Büchi Automata Translation , 2001, CAV.

[34]  Bashar Nuseibeh,et al.  Towards safer composition , 2009, 2009 31st International Conference on Software Engineering - Companion Volume.