Formal Verification With Confidence Intervals to Establish Quality of Service Properties of Software Systems

Formal verification is used to establish the compliance of software and hardware systems with important classes of requirements. System compliance with functional requirements is frequently analyzed using techniques such as model checking, and theorem proving. In addition, a technique called quantitative verification supports the analysis of the reliability, performance, and other quality-of-service (QoS) properties of systems that exhibit stochastic behavior. In this paper, we extend the applicability of quantitative verification to the common scenario when the probabilities of transition between some or all states of the Markov models analyzed by the technique are unknown, but observations of these transitions are available. To this end, we introduce a theoretical framework, and a tool chain that establish confidence intervals for the QoS properties of a software system modelled as a Markov chain with uncertain transition probabilities. We use two case studies from different application domains to assess the effectiveness of the new quantitative verification technique. Our experiments show that disregarding the above source of uncertainty may significantly affect the accuracy of the verification results, leading to wrong decisions, and low-quality software systems.

[1]  Damjan Skulj,et al.  Discrete time Markov chains with interval probabilities , 2009, Int. J. Approx. Reason..

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

[3]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[4]  Carlo Ghezzi,et al.  Mining behavior models from user-intensive web applications , 2014, ICSE.

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

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

[7]  Hongyang Qu,et al.  Incremental Runtime Verification of Probabilistic Systems , 2012, RV.

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

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

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

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

[12]  Ramesh Govindan,et al.  Wireless sensor networks , 2003, Comput. Networks.

[13]  Carlo Ghezzi,et al.  Adaptive REST applications via model inference and probabilistic model checking , 2013, 2013 IFIP/IEEE International Symposium on Integrated Network Management (IM 2013).

[14]  Steffen Becker,et al.  Quality of Software Architectures. Models and Architectures , 2008, Lecture Notes in Computer Science.

[15]  Kerstin Eder,et al.  Hardware and Software: Verification and Testing , 2011, Lecture Notes in Computer Science.

[16]  Marta Z. Kwiatkowska Quantitative verification: models, techniques and tools , 2007, ESEC/SIGSOFT FSE.

[17]  David S. Rosenblum,et al.  Asymptotic Bounds for Quantitative Verification of Perturbed Probabilistic Systems , 2013, ICFEM.

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

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

[20]  Lev V. Utkin,et al.  Interval-Valued Finite Markov Chains , 2002, Reliab. Comput..

[21]  Taolue Chen,et al.  On the complexity of model checking interval-valued discrete time Markov chains , 2013, Inf. Process. Lett..

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

[23]  Lothar Thiele,et al.  Efficient network flooding and time synchronization with Glossy , 2011, Proceedings of the 10th ACM/IEEE International Conference on Information Processing in Sensor Networks.

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

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

[26]  Carlo Ghezzi,et al.  Self-adaptive software needs quantitative verification at runtime , 2012, CACM.

[27]  Rance Cleaveland,et al.  Using formal specifications to support testing , 2009, CSUR.

[28]  Joost-Pieter Katoen,et al.  A Markov reward model checker , 2005, Second International Conference on the Quantitative Evaluation of Systems (QEST'05).

[29]  Wiebe R. Pestman,et al.  Mathematical Statistics: An Introduction , 1998 .

[30]  Marta Z. Kwiatkowska,et al.  Performance analysis of probabilistic timed automata using digital clocks , 2003, Formal Methods Syst. Des..

[31]  Joseph Glaz,et al.  Simultaneous Confidence Intervals and Sample Size Determination for Multinomial Proportions , 1995 .

[32]  J. Lofberg,et al.  YALMIP : a toolbox for modeling and optimization in MATLAB , 2004, 2004 IEEE International Conference on Robotics and Automation (IEEE Cat. No.04CH37508).

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

[34]  Timothy A. Davis,et al.  MATLAB Primer , 1994 .

[35]  E. L. Lawler,et al.  Branch-and-Bound Methods: A Survey , 1966, Oper. Res..

[36]  Marta Kwiatkowska Modelling and verification of probabilistic systems , 2005 .

[37]  Frits W. Vaandrager,et al.  Cost-optimization of the IPv4 zeroconf protocol , 2003, 2003 International Conference on Dependable Systems and Networks, 2003. Proceedings..

[38]  Michael K. Reiter,et al.  Crowds: anonymity for Web transactions , 1998, TSEC.

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

[40]  Lothar Thiele,et al.  On Modeling Low-Power Wireless Protocols Based on Synchronous Packet Transmissions , 2013, 2013 IEEE 21st International Symposium on Modelling, Analysis and Simulation of Computer and Telecommunication Systems.

[41]  Paola Inverardi,et al.  Towards an assume-guarantee theory for adaptable systems , 2009, 2009 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems.

[42]  Roberto Amadio Foundations of Software Science and Computational Structures, 11th International Conference, FOSSACS 2008, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2008, Budapest, Hungary, March 29 - April 6, 2008. Proceedings , 2008, FoSSaCS.

[43]  Radu Calinescu,et al.  Efficient runtime quantitative verification using caching, lookahead, and nearly-optimal reconfiguration , 2014, SEAMS 2014.

[44]  Håkan L. S. Younes Ymer: A Statistical Model Checker , 2005, CAV.

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

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

[47]  Radu Calinescu,et al.  Specification and Quantitative Analysis of Probabilistic Cloud Deployment Patterns , 2011, Haifa Verification Conference.

[48]  Mordechai Ben-Ari,et al.  The temporal logic of branching time , 1981, POPL '81.

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

[50]  Johan Löfberg,et al.  Automatic robust convex programming , 2012, Optim. Methods Softw..

[51]  Alastair Scott,et al.  Quick Simultaneous Confidence Intervals for Multinomial Proportions , 1987 .

[52]  Hongyang Qu,et al.  Assume-Guarantee Verification for Probabilistic Systems , 2010, TACAS.

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

[54]  Krishnendu Chatterjee,et al.  Model-Checking omega-Regular Properties of Interval Markov Chains , 2008, FoSSaCS.

[55]  Marta Z. Kwiatkowska,et al.  Probabilistic symbolic model checking with PRISM: a hybrid approach , 2004, International Journal on Software Tools for Technology Transfer.

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

[57]  Alberto L. Sangiovanni-Vincentelli,et al.  Polynomial-Time Verification of PCTL Properties of MDPs with Convex Uncertainties , 2013, CAV.

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

[59]  David S. Rosenblum,et al.  Perturbation analysis of stochastic systems with empirical distribution parameters , 2014, ICSE.

[60]  Carlo Ghezzi,et al.  Model evolution by run-time parameter adaptation , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[61]  D. C. Hurst,et al.  Large Sample Simultaneous Confidence Intervals for Multinomial Proportions , 1964 .

[62]  Radu Calinescu,et al.  log2cloud: log-based prediction of cost-performance trade-offs for cloud deployments , 2013, SAC '13.

[63]  Erik Fridell,et al.  The mechanism for NOx storage , 2000 .

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

[65]  Luca Bortolussi,et al.  Smoothed model checking for uncertain Continuous-Time Markov Chains , 2014, Inf. Comput..

[66]  Timothy A. Davis MATLAB Primer, Eighth Edition , 2010 .

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

[68]  Lothar Thiele,et al.  Low-power wireless bus , 2012, SenSys '12.

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

[70]  Radu Calinescu,et al.  Using quantitative analysis to implement autonomic IT systems , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[71]  Christel Baier,et al.  Model-Checking Algorithms for Continuous-Time Markov Chains , 2002, IEEE Trans. Software Eng..

[72]  K. Kwong,et al.  On singular multivariate normal distribution and its applications , 1996 .

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

[74]  J. Glaz,et al.  Simultaneous confidence intervals for multinomial proportions , 1999 .