A Vision for Behavioural Model-Driven Validation of Software Product Lines

The Software Product Lines (SPLs) paradigm promises faster development cycles and increased quality by systematically reusing software assets. This paradigm considers a family of systems, each of which can be obtained by a selection of features in a variability model. Though essential, providing Quality Assurance (QA) techniques for SPLs has long been perceived as a very difficult challenge due to the combinatorics induced by variability and for which very few techniques were available. Recently, important progress has been made by the model-checking and testing communities to address this QA challenge, in a very disparate way though. We present our vision for a unified framework combining model-checking and testing approaches applied to behavioural models of SPLs. Our vision relies on Featured Transition Systems (FTSs), an extension of transition systems supporting variability. This vision is also based on model-driven technologies to support practical SPL modelling and orchestrate various QA scenarios. We illustrate one of such scenarios on a vending machine SPL.

[1]  Pierre-Yves Schobbens,et al.  Symbolic model checking of software product lines , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[2]  Per Runeson,et al.  Software product line testing - A systematic mapping study , 2011, Inf. Softw. Technol..

[3]  Pierre-Yves Schobbens,et al.  Managing evolution in software product lines: a model-checking perspective , 2012, VaMoS.

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

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

[6]  L. C. Briand,et al.  Model Transformations as a Strategy to Automate Model-Based Testing - A Tool and Industrial Case Studies, Version 1.0 , 2010 .

[7]  Maurice H. ter Beek,et al.  Design and validation of variability in product lines , 2011, PLEASE '11.

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

[9]  Aditya P. Mathur,et al.  Foundations of Software Testing , 2007 .

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

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

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

[13]  Martin Leucker,et al.  Calculating and Modeling Common Parts of Software Product Lines , 2008, 2008 12th International Software Product Line Conference.

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

[15]  Qing Li,et al.  Unified Modeling Language , 2009 .

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

[17]  Marius Mikucionis,et al.  Formal Methods and Testing , 2008 .

[18]  Malte Lochau,et al.  MoSo-PoLiTe: tool support for pairwise and model-based software product line testing , 2011, VaMoS '11.

[19]  Bengt Jonsson,et al.  Specifying and Generating Test Cases Using Observer Automata , 2004, FATES.

[20]  Kim G. Larsen,et al.  Testing Real-Time Systems Using UPPAAL , 2008, Formal Methods and Testing.

[21]  Martin Gogolla,et al.  State diagrams in UML: A formal semantics using graph transformations , 1998 .

[22]  Pierre-Yves Schobbens,et al.  Generic semantics of feature diagrams , 2007, Comput. Networks.

[23]  Axel Uhl,et al.  Model-Driven Architecture , 2002, OOIS Workshops.

[24]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[25]  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.

[26]  Brian Nielsen,et al.  Formal Approaches to Software Testing, 4th International Workshop, FATES 2004, Linz, Austria, September 21, 2004, Revised Selected Papers , 2005, FATES.

[27]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

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

[29]  Maurice H. ter Beek,et al.  Formal Description of Variability in Product Families , 2011, 2011 15th International Software Product Line Conference.

[30]  Malte Lochau,et al.  Pairwise feature-interaction testing for SPLs: potentials and limitations , 2011, SPLC '11.

[31]  Gunter Saake,et al.  Analysis Strategies for Software Product Lines , 2012 .

[32]  Jean-Marc Jézéquel,et al.  Software Product Line Engineering with the UML: Deriving Products , 2006, Software Product Lines.

[33]  Stephan Weißleder Test models and coverage criteria for automatic model-based test generation with UML state machines , 2010 .

[34]  Jan Tretmans,et al.  Model Based Testing with Labelled Transition Systems , 2008, Formal Methods and Testing.

[35]  Jean-Marc Jézéquel,et al.  Weaving executability into object-oriented meta-languages , 2005, MoDELS'05.

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

[37]  Pieter J. Mosterman,et al.  Model-Based Testing for Embedded Systems , 2011, Computational Analysis, Synthesis, & Design Dynamic Systems.

[38]  Jacques Klein,et al.  Pairwise testing for software product lines: comparison of two approaches , 2012, Software Quality Journal.

[39]  Andrzej Wasowski Flattening statecharts without explosions , 2004, LCTES '04.

[40]  Andy Schürr,et al.  A Survey of Model-Based Software Product Lines Testing , 2011, Model-Based Testing for Embedded Systems.

[41]  Andreas Classen Modelling and Model Checking Variability-Intensive Systems , 2011 .

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

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

[44]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

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

[46]  Audris Kalnins,et al.  Model Transformation Language MOLA , 2003, MDAFA.