Quantitative Analysis With the Probabilistic Model Checker PRISM

Probabilistic model checking is a formal verification technique for establishing the correctness, performance and reliability of systems which exhibit stochastic behaviour. As in conventional verification, a precise mathematical model of a real-life system is constructed first, and, given formal specifications of one or more properties of this system, an analysis of these properties is performed. The exploration of the system model is exhaustive and involves a combination of graph-theoretic algorithms and numerical methods. In this paper, we give a brief overview of the probabilistic model checker PRISM (www.cs.bham.ac.uk/~dxp/prism) implemented at the University of Birmingham. PRISM supports a range of probabilistic models and specification languages based on temporal logic, and has been recently extended with costs and rewards. We describe our experience with using PRISM to analyse a number of case studies from a wide range of application domains. We demonstrate the usefulness of probabilistic model checking techniques in detecting flaws and unusual trends, focusing mainly on the quantitative analysis of a range of best, worst and average-case system characteristics.

[1]  Marta Z. Kwiatkowska,et al.  Automated Verification of a Randomized Distributed Consensus Protocol Using Cadence SMV and PRISM , 2001, CAV.

[2]  Amos Israeli,et al.  Token management schemes and random walks yield self-stabilizing mutual exclusion , 1990, PODC '90.

[3]  Kang G. Shin,et al.  Real-time dynamic voltage scaling for low-power embedded operating systems , 2001, SOSP.

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

[5]  Wan Fokkink,et al.  Simplifying Itai-Rodeh Leader Election for Anonymous Rings , 2005, Electron. Notes Theor. Comput. Sci..

[6]  Conrado Daws,et al.  Automatic verification of the IEEE 1394 root contention protocol with KRONOS and PRISM , 2002, International Journal on Software Tools for Technology Transfer.

[7]  Marta Z. Kwiatkowska,et al.  PRISM 2.0: a tool for probabilistic model checking , 2004, First International Conference on the Quantitative Evaluation of Systems, 2004. QEST 2004. Proceedings..

[8]  Thomas Hérault,et al.  Probabilistic Model Checking of the CSMA/CD Protocol Using PRISM and APMC , 2005, AVoCS.

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

[10]  Sandeep K. Shukla,et al.  Evaluating the reliability of NAND multiplexing with PRISM , 2005, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

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

[12]  Vitaly Shmatikov Probabilistic analysis of an anonymity system , 2004, J. Comput. Secur..

[13]  Micha Sharir,et al.  Termination of Probabilistic Concurrent Program , 1983, TOPL.

[14]  Marta Z. Kwiatkowska,et al.  Probabilistic Model Checking of Deadline Properties in the IEEE 1394 FireWire Root Contention Protocol , 2003, Formal Aspects of Computing.

[15]  Christel Baier,et al.  Approximate Symbolic Model Checking of Continuous-Time Markov Chains , 1999, CONCUR.

[16]  S. Hart,et al.  Termination of Probabilistic Concurrent Programs. , 1982 .

[17]  Jan J. M. M. Rutten,et al.  Mathematical techniques for analyzing concurrent and probabilistic systems , 2004, CRM monograph series.

[18]  Vitaly Shmatikov,et al.  Probabilistic Model Checking of an Anonymity System , 2004 .

[19]  Vitaly Shmatikov,et al.  Synchronous Batching: From Cascades to Free Routes , 2004, Privacy Enhancing Technologies.

[20]  David Gilbert,et al.  Analysis of signalling pathways using the prism model checker , 2005 .

[21]  Marta Z. Kwiatkowska,et al.  Symbolic model checking for probabilistic timed automata , 2007, Inf. Comput..

[22]  Marta Z. Kwiatkowska,et al.  Verifying Randomized Byzantine Agreement , 2002, FORTE.

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

[24]  Moshe Y. Vardi Automatic verification of probabilistic concurrent finite state programs , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[25]  Sandeep K. Shukla,et al.  Formal analysis and validation of continuous-time Markov chain based system level power management strategies , 2002, Seventh IEEE International High-Level Design Validation and Test Workshop, 2002..

[26]  Jane Hillston,et al.  A compositional approach to performance modelling , 1996 .

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

[28]  Sandeep K. Shukla,et al.  Using probabilistic model checking for dynamic power management , 2005, Formal Aspects of Computing.

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

[30]  Diego Latella,et al.  Towards Model Checking Stochastic Aspects of the thinkteam User Interface , 2005, DSV-IS.

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

[32]  Håkan L. S. Younes,et al.  Numerical vs. statistical probabilistic model checking , 2006, International Journal on Software Tools for Technology Transfer.

[33]  William J. Stewart,et al.  Introduction to the numerical solution of Markov Chains , 1994 .

[34]  Stephen Gilmore,et al.  Modelling the Influence of RKIP on the ERK Signalling Pathway Using the Stochastic Process Algebra PEPA , 2006, Trans. Comp. Sys. Biology.

[35]  Yi Zhang,et al.  A wavefront parallelisation of CTMC solution using MTBDDs , 2005, 2005 International Conference on Dependable Systems and Networks (DSN'05).

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

[37]  Marta Kwiatkowska,et al.  Controller Dependability Analysis by Probabilistic Model Checking , 2004 .

[38]  Yi Zhang,et al.  Dual-processor parallelisation of symbolic probabilistic model checking , 2004, The IEEE Computer Society's 12th Annual International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems, 2004. (MASCOTS 2004). Proceedings..

[39]  Ted Herman,et al.  Probabilistic Self-Stabilization , 1990, Information Processing Letters.

[40]  Holger Hermanns,et al.  A Markov Chain Model Checker , 2000, TACAS.

[41]  David Anthony Parker,et al.  Implementation of symbolic model checking for probabilistic systems , 2003 .

[42]  Vitaly Shmatikov,et al.  Analysis of probabilistic contract signing , 2002, J. Comput. Secur..

[43]  Maria Gradinariu Potop-Butucaru,et al.  Memory space requirements for self-stabilizing leader election protocols , 1999, PODC '99.

[44]  Marie Duflot,et al.  A formal analysis of bluetooth device discovery , 2006, 37th Annual Hawaii International Conference on System Sciences, 2004. Proceedings of the.

[45]  Robert K. Brayton,et al.  Verifying Continuous Time Markov Chains , 1996, CAV.

[46]  Marta Z. Kwiatkowska,et al.  Probabilistic Model Checking of the IEEE 802.11 Wireless Local Area Network Protocol , 2002, PAPM-PROBMIV.

[47]  Andrea Maggiolo-Schettini,et al.  Automatic Analysis of a Non-Repudiation Protocol , 2005, Electron. Notes Theor. Comput. Sci..

[48]  Sandeep K. Shukla,et al.  Evaluating the reliability of defect-tolerant architectures for nanotechnology with probabilistic model checking , 2004, 17th International Conference on VLSI Design. Proceedings..

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

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