Abstraction Refinement for Probabilistic Software

  • Authors:
  • Mark Kattenbelt;Marta Kwiatkowska;Gethin Norman;David Parker

  • Affiliations:
  • Oxford University Computing Laboratory, Oxford, OX1 3QD;Oxford University Computing Laboratory, Oxford, OX1 3QD;Oxford University Computing Laboratory, Oxford, OX1 3QD;Oxford University Computing Laboratory, Oxford, OX1 3QD

  • Venue:
  • VMCAI '09 Proceedings of the 10th International Conference on Verification, Model Checking, and Abstract Interpretation
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a methodology and implementation for verifying ANSI-C programs that exhibit probabilistic behaviour, such as failures or randomisation. We use abstraction-refinement techniques that represent probabilistic programs as Markov decision processes and their abstractions as stochastic two-player games. Our techniques target quantitative properties of software such as "the maximum probability of file-transfer failure" or "the minimum expected number of loop iterations" and the abstractions we construct yield lower and upper bounds on these properties, which then guide the refinement process. We build upon state-of-the-art techniques and tools, using SAT-based predicate abstraction, symbolic implementations of probabilistic model checking and components from GOTO-CC, SATABS and PRISM. Experimental results show that our approach performs very well in practice, successfully verifying actual networking software whose complexity is significantly beyond the scope of existing probabilistic verification tools.