Statistical Model Checking for Product Lines

We report on the suitability of statistical model checking for the analysis of quantitative properties of product line models by an extended treatment of earlier work by the authors. The type of analysis that can be performed includes the likelihood of specific product behaviour, the expected average cost of products (in terms of the attributes of the products’ features) and the probability of features to be (un)installed at runtime. The product lines must be modelled in QFLan, which extends the probabilistic feature-oriented language PFLan with novel quantitative constraints among features and on behaviour and with advanced feature installation options. QFLan is a rich process-algebraic specification language whose operational behaviour interacts with a store of constraints, neatly separating product configuration from product behaviour. The resulting probabilistic configurations and probabilistic behaviour converge in a discrete-time Markov chain semantics, enabling the analysis of quantitative properties. Technically, a Maude implementation of QFLan, integrated with Microsoft’s SMT constraint solver Z3, is combined with the distributed statistical model checker MultiVeStA, developed by one of the authors. We illustrate the feasibility of our framework by applying it to a case study of a product line of bikes.

[1]  Maria Grazia Buscemi,et al.  Programming Languages and Systems, 16th European Symposium on Programming, ESOP 2007, Held as Part of the Joint European Conferences on Theory and Practics of Software, ETAPS 2007, Braga, Portugal, March 24 - April 1, 2007, Proceedings , 2007, European Symposium on Programming.

[2]  Dave Clarke,et al.  Editorial preface for the JLAMP Special Issue on Formal Methods for Software Product Line Engineering , 2016, J. Log. Algebraic Methods Program..

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

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

[5]  José Meseguer,et al.  PVeStA: A Parallel Statistical Model Checking and Quantitative Analysis Tool , 2011, CALCO.

[6]  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).

[7]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[8]  Mahsa Varshosaz,et al.  Discrete time Markov chain families: modeling and verification of probabilistic software product lines , 2013, SPLC '13 Workshops.

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

[10]  M. V. Panduranga Rao,et al.  Statistical Model Checking of Opportunistic Network Protocols , 2015, AINTEC.

[11]  Christel Baier,et al.  Probabilistic Model Checking for Feature-Oriented Systems , 2015, LNCS Trans. Aspect Oriented Softw. Dev..

[12]  José Meseguer,et al.  PMaude: Rewrite-based Specification Language for Probabilistic Object Systems , 2006, QAPL.

[13]  Stephen Gilmore,et al.  An Analysis Pathway for the Quantitative Evaluation of Public Transport Systems , 2014, IFM.

[14]  Christel Baier,et al.  Family-Based Modeling and Analysis for Probabilistic Systems - Featuring ProFeat , 2016, FASE.

[15]  Vijay A. Saraswat,et al.  Concurrent constraint programming , 1989, POPL '90.

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

[17]  Stefano Sebastio,et al.  MultiVeStA: statistical model checking for discrete event simulators , 2013, VALUETOOLS.

[18]  Axel Legay,et al.  Quantitative Analysis of Probabilistic Models of Software Product Lines with Statistical Model Checking , 2015, FMSPLE.

[19]  Carlo Ghezzi,et al.  Model-based verification of quantitative non-functional properties for software product lines , 2013, Inf. Softw. Technol..

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

[21]  Mahesh Viswanathan,et al.  VESTA: A statistical model-checker and analyzer for probabilistic systems , 2005, Second International Conference on the Quantitative Evaluation of Systems (QEST'05).

[22]  Danilo Pianini,et al.  Distributed statistical analysis of complex systems modeled through a chemical metaphor , 2014, 2014 International Conference on High Performance Computing & Simulation (HPCS).

[23]  Reiner Hähnle,et al.  Formal Methods in Software Product Line Engineering , 2011, Computer.

[24]  Luca Bortolussi,et al.  Stochastic Concurrent Constraint Programming , 2006, QAPL.

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

[26]  Christel Baier,et al.  Probabilistic model checking for energy analysis in software product lines , 2013, MODULARITY.

[27]  Axel Legay,et al.  Statistical Model Checking: An Overview , 2010, RV.

[28]  Sergio Segura,et al.  Automated analysis of feature models 20 years later: A literature review , 2010, Inf. Syst..

[29]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[30]  Martin Erwig,et al.  The Choice Calculus: A Representation for Software Variation , 2011, TSEM.

[31]  Massimo Bartoletti,et al.  A Contract-Oriented Middleware , 2015, FACS.

[32]  Axel Legay,et al.  Statistical analysis of probabilistic models of software product lines with quantitative constraints , 2015, SPLC.

[33]  Rocco De Nicola,et al.  Reasoning (on) Service Component Ensembles in Rewriting Logic , 2014, Specification, Algebra, and Software.

[34]  Alberto Lluch-Lafuente,et al.  A computational field framework for collaborative task execution in volunteer clouds , 2014, SEAMS 2014.

[35]  Kim G. Larsen,et al.  Statistical Model Checking: Past, Present, and Future , 2016, ISoLA.

[36]  Pierre-Yves Schobbens,et al.  Modeling and Verification for Probabilistic Properties in Software Product Lines , 2015, 2015 IEEE 16th International Symposium on High Assurance Systems Engineering.

[37]  Myra B. Cohen,et al.  Analysis, Test and Verification in The Presence of Variability (Dagstuhl Seminar 13091) , 2013, Dagstuhl Reports.