On automated verification of probabilistic programs

  • Authors:
  • Axel Legay;Andrzej S. Murawski;Joël Ouaknine;James Worrell

  • Affiliations:
  • Institut Montefiore, Université de Liège, Belgium;Oxford University Computing Laboratory, UK;Oxford University Computing Laboratory, UK;Oxford University Computing Laboratory, UK

  • Venue:
  • TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

We introduce a simple procedural probabilistic programming language which is suitable for coding a wide variety of randomised algorithms and protocols. This language is interpreted over finite datatypes and has a decidable equivalence problem. We have implemented an automated equivalence checker, which we call apex, for this language, based on game semantics.We illustrate our approach with three non-trivial case studies: (i) Herman's self-stabilisation algorithm; (ii) an analysis of the average shape of binary search trees obtained by certain sequences of random insertions and deletions; and (iii) the problem of anonymity in the Dining Cryptographers protocol. In particular, we record an exponential speed-up in the latter over state-of-the-art competing approaches.