Efficient Parametric Model Checking Using Domain Knowledge

We introduce an efficient parametric model checking (ePMC) method for the analysis of reliability, performance and other quality-of-service (QoS) properties of software systems. ePMC speeds up the analysis of parametric Markov chains modelling the behaviour of software by exploiting domain-specific modelling patterns for the software components. To this end, ePMC precomputes closed-form expressions for key QoS properties of such patterns, and uses these expressions in the analysis of whole-system models. To evaluate ePMC, we show that its application to service-based systems and multi-tier software architectures reduces analysis time by several orders of magnitude compared to current parametric model checking methods.

[1]  Carlo Ghezzi,et al.  Verifying Non-functional Properties of Software Product Lines: Towards an Efficient Approach Using Parametric Model Checking , 2011, 2011 15th International Software Product Line Conference.

[2]  Carlo Ghezzi,et al.  Run-time efficient probabilistic model checking , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[3]  Carlo Ghezzi,et al.  Formal Verification With Confidence Intervals to Establish Quality of Service Properties of Software Systems , 2016, IEEE Transactions on Reliability.

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

[5]  Radu Calinescu,et al.  Efficient synthesis of robust models for stochastic systems , 2018, J. Syst. Softw..

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

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

[8]  Radu Calinescu,et al.  Self-Adaptive Role-Based Access Control for Business Processes , 2017, 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[9]  Christel Baier,et al.  ProFeat: feature-oriented engineering for family-based probabilistic model checking , 2017, Formal Aspects of Computing.

[10]  Jean-Raymond Abrial,et al.  Refinement, Decomposition, and Instantiation of Discrete Models: Application to Event-B , 2007, Fundam. Informaticae.

[11]  Giordano Tamburrelli,et al.  Probabilistic Verification at Runtime for Self-Adaptive Systems , 2013, Assurances for Self-Adaptive Systems.

[12]  Bengt Jonsson,et al.  A logic for reasoning about time and reliability , 1990, Formal Aspects of Computing.

[13]  Annabelle McIver,et al.  Abstraction, Refinement and Proof for Probabilistic Systems , 2004, Monographs in Computer Science.

[14]  Radu Calinescu,et al.  An incremental verification framework for component-based software systems , 2013, CBSE '13.

[15]  C. R. Ramakrishnan,et al.  Model Repair for Probabilistic Systems , 2011, TACAS.

[16]  Joost-Pieter Katoen,et al.  Discrete-Time Rewards Model-Checked , 2003, FORMATS.

[17]  Mahesh Viswanathan,et al.  Model-Checking Markov Chains in the Presence of Uncertainties , 2006, TACAS.

[18]  Sebastian Junges,et al.  A Storm is Coming: A Modern Probabilistic Model Checker , 2017, CAV.

[19]  Nils Jansen,et al.  Synthesis and Verification of Self-aware Computing Systems , 2017, Self-Aware Computing Systems.

[20]  Radu Calinescu,et al.  Compositional Reverification of Probabilistic Safety Properties for Large-Scale Complex IT Systems , 2012, Monterey Workshop.

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

[22]  Lijun Zhang,et al.  Probabilistic Reachability for Parametric Markov Models , 2009, SPIN.

[23]  Radu Calinescu,et al.  Synthesis of probabilistic models for quality-of-service software engineering , 2018, Automated Software Engineering.

[24]  Amit P. Sheth,et al.  Modeling Quality of Service for Workflows and Web Service Processes , 2002 .

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

[26]  Anne H. H. Ngu,et al.  QoS-aware middleware for Web services composition , 2004, IEEE Transactions on Software Engineering.

[27]  Radu Calinescu,et al.  CADS*: Computer-Aided Development of Self-* Systems , 2009, FASE.

[28]  Lijun Zhang,et al.  Model Repair for Markov Decision Processes , 2013, 2013 International Symposium on Theoretical Aspects of Software Engineering.

[29]  Radu Calinescu,et al.  Search-Based Synthesis of Probabilistic Models for Quality-of-Service Software Engineering (T) , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[30]  Radu Calinescu,et al.  Dynamic QoS Management and Optimization in Service-Based Systems , 2011, IEEE Transactions on Software Engineering.

[31]  Frank Ciesinski,et al.  On Probabilistic Computation Tree Logic , 2004, Validation of Stochastic Systems.

[32]  Radu Calinescu,et al.  FACT: A Probabilistic Model Checker for Formal Verification with Confidence Intervals , 2016, TACAS.

[33]  Rogério de Lemos,et al.  Software Engineering for Self-Adaptive Systems: Research Challenges in the Provision of Assurances , 2013, Software Engineering for Self-Adaptive Systems.

[34]  James Worrell,et al.  LTL Model Checking of Interval Markov Chains , 2013, TACAS.

[35]  Carlo Ghezzi,et al.  Quality Prediction of Service Compositions through Probabilistic Model Checking , 2008, QoSA.

[36]  Axel Legay,et al.  A Framework for Quantitative Modeling and Analysis of Highly (Re)configurable Systems , 2017, IEEE Transactions on Software Engineering.

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

[38]  Danny Weyns,et al.  Engineering Trustworthy Self-Adaptive Software with Dynamic Assurance Cases , 2017, IEEE Transactions on Software Engineering.

[39]  Nils Jansen,et al.  Accelerating Parametric Probabilistic Verification , 2014, QEST.

[40]  Carlo Ghezzi,et al.  Supporting Self-Adaptation via Quantitative Verification and Sensitivity Analysis at Run Time , 2016, IEEE Transactions on Software Engineering.

[41]  Radu Calinescu,et al.  Efficient Parametric Model Checking Using Domain-Specific Modelling Patterns , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering: New Ideas and Emerging Technologies Results (ICSE-NIER).

[42]  Radu Calinescu,et al.  Developing self-verifying service-based systems , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[43]  Lijun Zhang,et al.  Synthesis for PCTL in Parametric Markov Decision Processes , 2011, NASA Formal Methods.

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