Automatic Probabilistic Program Verification through Random Variable Abstraction

The weakest pre-expectation calculus has been proved to be a mature theory to analyze quantitative properties of probabilistic and nondeterministic programs. We present an automatic method for proving quantitative linear properties on any denumerable state space using iterative backwards fixed point calculation in the general framework of abstract interpretation. In order to accomplish this task we present the technique of random variable abstraction (RVA) and we also postulate a sufficient condition to achieve exact fixed point computation in the abstract domain. The feasibility of our approach is shown with two examples, one obtaining the expected running time of a probabilistic program, and the other the expected gain of a gambling strategy. Our method works on general guarded probabilistic and nondeterministic transition systems instead of plain pGCL programs, allowing us to easily model a wide range of systems including distributed ones and unstructured programs. We present the operational and weakest precondition semantics for this programs and prove its equivalence.

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

[2]  Dexter Kozen,et al.  A probabilistic PDL , 1983, J. Comput. Syst. Sci..

[3]  Andrew Hinton,et al.  PRISM: A Tool for Automatic Verification of Probabilistic Systems , 2006, TACAS.

[4]  Brian A. Davey,et al.  An Introduction to Lattices and Order , 1989 .

[5]  A. W. Roscoe,et al.  Fixed Points Without Completeness , 1995, Theor. Comput. Sci..

[6]  David Monniaux,et al.  Abstract Interpretation of Probabilistic Semantics , 2000, SAS.

[7]  Hassen Saïdi,et al.  Construction of Abstract State Graphs with PVS , 1997, CAV.

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

[9]  Annabelle McIver Quantitative program logic and expected time bounds in probabilistic distributed algorithms , 2002, Theor. Comput. Sci..

[10]  François Laviolette,et al.  A Demonic Approach to Information in Probabilistic Systems , 2009, CONCUR.

[11]  Tomás E. Uribe,et al.  Generating Finite-State Abstractions of Reactive Systems Using Decision Procedures , 1998, CAV.

[12]  Christel Baier,et al.  Partial Order Reduction for Probabilistic Branching Time , 2006, QAPL.

[13]  Annabelle McIver,et al.  Abstraction, Refinement And Proof For Probabilistic Systems (Monographs in Computer Science) , 2004 .

[14]  Annabelle McIver,et al.  Probabilistic Guarded Commands Mechanized in HOL , 2005, Electron. Notes Theor. Comput. Sci..

[15]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[16]  Lijun Zhang,et al.  Probabilistic CEGAR , 2008, CAV.

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

[18]  Annabelle McIver,et al.  Linear-Invariant Generation for Probabilistic Programs: - Automated Support for Proof-Based Methods , 2010, SAS.

[19]  A. McIver,et al.  Probabilistic affirmation and refutation : Case studies , 2009 .

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

[21]  Annabelle McIver,et al.  Probabilistic Models for the Guarded Command Language , 1997, Sci. Comput. Program..

[22]  Lijun Zhang,et al.  Probabilistic Model Checking Modulo Theories , 2007, Fourth International Conference on the Quantitative Evaluation of Systems (QEST 2007).

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