ProFeat: feature-oriented engineering for family-based probabilistic model checking

The concept of features provides an elegant way to specify families of systems. Given a base system, features encapsulate additional functionalities that can be activated or deactivated to enhance or restrict the base system’s behaviors. Features can also facilitate the analysis of families of systems by exploiting commonalities of the family members and performing an all-in-one analysis, where all systems of the family are analyzed at once on a single family model instead of one-by-one. Most prominent, the concept of features has been successfully applied to describe and analyze (software) product lines. We present the tool ProFeat that supports the feature-oriented engineering process for stochastic systems by probabilistic model checking. To describe families of stochastic systems, ProFeat extends models for the prominent probabilistic model checker Prism by feature-oriented concepts, including support for probabilistic product lines with dynamic feature switches, multi-features and feature attributes. ProFeat provides a compact symbolic representation of the analysis results for each family member obtained by Prism to support, e.g., model repair or refinement during feature-oriented development. By means of several case studies we show how ProFeat eases family-based quantitative analysis and compare one-by-one and all-in-one analysis approaches.

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

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

[3]  Sergio Segura Automated Analysis of Feature Models Using Atomic Sets , 2008, SPLC.

[4]  Sven Apel,et al.  Detection of feature interactions using feature-aware verification , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

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

[6]  Andrea Bianco,et al.  Model Checking of Probabalistic and Nondeterministic Systems , 1995, FSTTCS.

[7]  Sven Apel,et al.  Model Superimposition in Software Product Lines , 2009, ICMT@TOOLS.

[8]  Christel Baier,et al.  A Probabilistic Quantitative Analysis of Probabilistic-Write/Copy-Select , 2013, NASA Formal Methods.

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

[10]  Axel Legay,et al.  On quantitative requirements for product lines , 2017, VaMoS.

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

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

[13]  Shmuel Katz,et al.  A superimposition control construct for distributed systems , 1993, TOPL.

[14]  Sven Apel,et al.  An Overview of Feature-Oriented Software Development , 2009, J. Object Technol..

[15]  R. Rudell Dynamic variable ordering for ordered binary decision diagrams , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[16]  Mira Mezini,et al.  A Dynamic Software Product Line Approach Using Aspect Models at Runtime , 2010 .

[17]  Marta Z. Kwiatkowska,et al.  PRISM 4.0: Verification of Probabilistic Real-Time Systems , 2011, CAV.

[18]  Marta Z. Kwiatkowska,et al.  The PRISM Benchmark Suite , 2012, 2012 Ninth International Conference on Quantitative Evaluation of Systems.

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

[20]  Pierre-Yves Schobbens,et al.  Formal semantics, modular specification, and symbolic verification of product-line behaviour , 2014, Sci. Comput. Program..

[21]  R. I. Bahar,et al.  Algebraic decision diagrams and their applications , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[22]  Carlo Ghezzi,et al.  A formal approach to adaptive software: continuous assurance of non-functional requirements , 2011, Formal Aspects of Computing.

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

[24]  Edsger W. Dijkstra,et al.  Guarded commands, nondeterminacy and formal derivation of programs , 1975, Commun. ACM.

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

[26]  Andreas Classen,et al.  A text-based approach to feature modelling: Syntax and semantics of TVL , 2011, Sci. Comput. Program..

[27]  Samuel D. Johnson Branching programs and binary decision diagrams: theory and applications by Ingo Wegener society for industrial and applied mathematics, 2000 408 pages , 2010, SIGA.

[28]  Fabio Somenzi,et al.  Who are the variables in your neighborhood , 1995, ICCAD.

[29]  Masahiro Fujita,et al.  Multi-Terminal Binary Decision Diagrams: An Efficient Data Structure for Matrix Representation , 1997, Formal Methods Syst. Des..

[30]  Sven Apel,et al.  A calculus for uniform feature composition , 2010, TOPL.

[31]  Ina Schaefer,et al.  Dynamic delta-oriented programming , 2011, SPLC '11.

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

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

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

[35]  Maurice H. ter Beek,et al.  VMC: A Tool for Product Variability Analysis , 2012, FM.

[36]  Conrado Daws Symbolic and Parametric Model Checking of Discrete-Time Markov Chains , 2004, ICTAC.

[37]  Krzysztof Czarnecki,et al.  Formalizing cardinality-based feature models and their specialization , 2005, Softw. Process. Improv. Pract..

[38]  C. Y. Lee Representation of switching circuits by binary-decision programs , 1959 .

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

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

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

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

[43]  Maurice H. ter Beek,et al.  Modelling and analysing variability in product families: Model checking of modal transition systems with variability constraints , 2016, J. Log. Algebraic Methods Program..

[44]  E. McCluskey Minimization of Boolean functions , 1956 .

[45]  Christel Baier,et al.  Model checking for a probabilistic branching time logic with fairness , 1998, Distributed Computing.

[46]  Lijun Zhang,et al.  PARAM: A Model Checker for Parametric Markov Models , 2010, CAV.

[47]  Enrico Macii,et al.  Algebraic decision diagrams and their applications , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

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

[49]  Ina Schaefer,et al.  Family-Based Performance Analysis of Variant-Rich Software Systems , 2014, Software Engineering & Management.

[50]  Lijun Zhang,et al.  Probabilistic reachability for parametric Markov models , 2010, International Journal on Software Tools for Technology Transfer.

[51]  Sven Apel,et al.  Strategies for product-line verification: Case studies and experiments , 2013, 2013 35th International Conference on Software Engineering (ICSE).

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

[53]  Alexander von Rhein Analysis Strategies for Configurable Systems , 2016 .

[54]  Ina Schaefer,et al.  Variability Modelling for Model-Driven Development of Software Product Lines , 2010, VaMoS.

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

[56]  Sebastian Junges,et al.  PROPhESY: A PRObabilistic ParamEter SYnthesis Tool , 2015, CAV.

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

[58]  Sheldon B. Akers,et al.  Binary Decision Diagrams , 1978, IEEE Transactions on Computers.

[59]  E. Clarke,et al.  Multi-Terminal Binary Decision Diagrams and Hybrid Decision Diagrams , 1996 .

[60]  Christel Baier,et al.  Advances in Symbolic Probabilistic Model Checking with PRISM , 2016, TACAS.

[61]  Thomas Leich,et al.  FeatureIDE: An extensible framework for feature-oriented software development , 2014, Sci. Comput. Program..

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

[63]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

[64]  Claus Brabrand,et al.  Family-Based Model Checking Without a Family-Based Model Checker , 2015, SPIN.

[65]  Enrico Macii,et al.  Algebric Decision Diagrams and Their Applications , 1997, ICCAD '93.

[66]  Christel Baier,et al.  Energy-Utility Quantiles , 2014, NASA Formal Methods.

[67]  Sebastian Junges,et al.  The Probabilistic Model Checker Storm (Extended Abstract) , 2016, ArXiv.

[68]  Thomas A. Henzinger,et al.  Reactive Modules , 1999, Formal Methods Syst. Des..

[69]  F. Somenzi,et al.  Who are the variables in your neighbourhood , 1995, Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[70]  Sofia Cassel,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 2012 .

[71]  Joost-Pieter Katoen,et al.  The Ins and Outs of the Probabilistic Model Checker MRMC , 2009, 2009 Sixth International Conference on the Quantitative Evaluation of Systems.