A Survey on Modeling Techniques for Formal Behavioral Verification of Software Product Lines

As software product lines are increasingly used for safety-critical systems, researchers have adapted formal verification techniques such as model checking and theorem proving to cope with compiletime variability. While the focus of the ongoing debate lies on the verification mechanisms itself, it becomes increasingly difficult for researchers to maintain an overview about the various accompanying modeling techniques. We survey existing approaches as a first step towards a unifying view on variability mechanisms in formal modeling techniques for product lines. We illustrate the approaches by means of a running example to illustrate their commonalities and differences.

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

[2]  Joseph Kiniry,et al.  Formal Methods in Software Product Lines: Concepts, Survey, and Guidelines , 2008 .

[3]  Ramtin Khosravi,et al.  Efficient Verification of Evolving Software Product Lines , 2011, FSEN.

[4]  Goetz Botterweck,et al.  Software diversity: state of the art and perspectives , 2012, International Journal on Software Tools for Technology Transfer.

[5]  Maurice H. ter Beek,et al.  A Compositional Framework to Derive Product Line Behavioural Descriptions , 2012, ISoLA.

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

[7]  Malte Lochau,et al.  DeltaCCS: A Core Calculus for Behavioral Change , 2014, ISoLA.

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

[9]  Shmuel Katz Aspect Categories and Classes of Temporal Properties , 2006, LNCS Trans. Aspect Oriented Softw. Dev..

[10]  Dilian Gurov,et al.  Compositional Algorithmic Verification of Software Product Lines , 2010, FMCO.

[11]  Kerstin Mueller,et al.  Software Product Line Engineering Foundations Principles And Techniques , 2016 .

[12]  Ramtin Khosravi,et al.  Delta Modeling and Model Checking of Product Families , 2013, FSEN.

[13]  João Araújo,et al.  Evaluating scenario-based SPL requirements approaches: the case for modularity, stability and expressiveness , 2013, Requirements Engineering.

[14]  Kathi Fisler,et al.  Modular Verification of Open Features Using Three-Valued Model Checking , 2005, Automated Software Engineering.

[15]  Pierre-Yves Schobbens,et al.  Towards an incremental automata-based approach for software product-line model checking , 2012, SPLC '12.

[16]  Reiner Hähnle,et al.  ABS: A Core Language for Abstract Behavioral Specification , 2010, FMCO.

[17]  Paulo S. C. Alencar,et al.  Supporting Formal Verification of Crosscutting Concerns , 2001, Reflection.

[18]  Gunter Saake,et al.  Feature-Oriented Software Product Lines , 2013, Springer Berlin Heidelberg.

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

[20]  Marinella Petrocchi,et al.  Combining declarative and procedural views in the specification and analysis of product families , 2013, SPLC '13 Workshops.

[21]  Kathi Fisler,et al.  Modular verification of collaboration-based software designs , 2001, ESEC/FSE-9.

[22]  Pierre-Yves Schobbens,et al.  Behavioural modelling and verification of real-time software product lines , 2012, SPLC '12.

[23]  Pierre-Yves Schobbens,et al.  Model Checking Adaptive Software with Featured Transition Systems , 2013, Assurances for Self-Adaptive Systems.

[24]  Pierre-Yves Schobbens,et al.  Beyond Boolean product-line model checking: Dealing with feature attributes and multi-features , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[25]  Michael J. Butler,et al.  A Basis for Feature-Oriented Modelling in Event-B , 2010, ASM.

[26]  Pierre-Yves Schobbens,et al.  ProVeLines: a product line of verifiers for software product lines , 2013, SPLC '13 Workshops.

[27]  Pierre-Yves Schobbens,et al.  Featured Transition Systems: Foundations for Verifying Variability-Intensive Systems and Their Application to LTL Model Checking , 2013, IEEE Transactions on Software Engineering.

[28]  Pierre-Yves Schobbens,et al.  Simulation-based abstractions for software product-line model checking , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[29]  Michael J. Butler,et al.  Composing Event-B Specifications - Case-Study Experience , 2011, SC@TOOLS.

[30]  Kathi Fisler,et al.  Interfaces for modular feature verification , 2002, Proceedings 17th IEEE International Conference on Automated Software Engineering,.

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

[32]  David M. Weiss,et al.  The Product Line Hall of Fame , 2008, 2008 12th International Software Product Line Conference.

[33]  Muffy Calder,et al.  Feature interaction detection by pairwise analysis of LTL properties—A case study , 2006, Formal Methods Syst. Des..

[34]  Robert M. Keller,et al.  Formal verification of parallel programs , 1976, CACM.

[35]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[36]  Dave Clarke,et al.  Feature Petri Nets , 2010, SPLC Workshops.

[37]  Pierre-Yves Schobbens,et al.  Model checking lots of systems: efficient verification of temporal properties in software product lines , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[38]  Thomas Schlegel,et al.  TEST MODELING FOR CONTEXT- AWARE UBIQUITOUS APPLICATIONS WITH FEATURE PETRI NETS , 2012 .

[39]  Pierre-Yves Schobbens,et al.  Model checking software product lines with SNIP , 2012, International Journal on Software Tools for Technology Transfer.

[40]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[41]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[42]  Egon Börger,et al.  Abstract State Machines. A Method for High-Level System Design and Analysis , 2003 .

[43]  Gunter Saake,et al.  Feature-Oriented Software Product Lines , 2013, Springer Berlin Heidelberg.

[44]  Hassan Gomaa,et al.  Dynamic Software Reconfiguration in Software Product Families , 2003, PFE.

[45]  Christel Baier,et al.  Principles of Model Checking (Representation and Mind Series) , 2008 .

[46]  S. Ramesh,et al.  Compositional Verification of Software Product Lines , 2013, IFM.

[47]  Sven Apel,et al.  Detecting Dependences and Interactions in Feature-Oriented Design , 2010, 2010 IEEE 21st International Symposium on Software Reliability Engineering.

[48]  Klaus Pohl,et al.  Quality Assurance in the Presence of Variability , 2010, Intentional Perspectives on Information Systems Engineering.

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

[50]  Michael Poppleton,et al.  Towards Feature-Oriented Specification and Development with Event-B , 2007, REFSQ.

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

[52]  Henny B. Sipma,et al.  A Formal Model for Cross-cutting Modular Transition Systems , 2003 .

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

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

[55]  Gunter Saake,et al.  A Classification and Survey of Analysis Strategies for Software Product Lines , 2014, ACM Comput. Surv..

[56]  Egon Börger,et al.  Modularizing Theorems for Software Product Lines: The Jbook Case Study , 2008, J. Univers. Comput. Sci..

[57]  Danilo Beuche Composition and construction of embedded software families , 2003 .

[58]  Maxime Cordy,et al.  Efficient consistency checking of scenario-based product-line specifications , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).

[59]  Pierre-Yves Schobbens,et al.  A Vision for Behavioural Model-Driven Validation of Software Product Lines , 2012, ISoLA.

[60]  Mirco Tribastone,et al.  Behavioral relations in a process algebra for variants , 2014, SPLC.

[61]  Jing Liu,et al.  Compositional model checking of software product lines using variation point obligations , 2010, Automated Software Engineering.

[62]  Stanley M. Sutton,et al.  N degrees of separation: multi-dimensional separation of concerns , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[63]  Florence Maraninchi,et al.  Aspect-oriented programming for reactive systems: Larissa, a proposal in the synchronous framework , 2006, Sci. Comput. Program..