[KKNP09]
M. Kattenbelt, M. Kwiatkowska, G. Norman and D. Parker.
Abstraction Refinement for Probabilistic Software.
In Proc. 10th International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI'09), volume 5403 of Lecture Notes in Computer Science, pages 182-197, Springer.
January 2009.
[ps.gz]
[pdf]
[bib]
|
Notes:
The case studies used in this paper can be found here.
The original publication is available at link.springer.com.
|
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.
|