Proving Termination of Probabilistic Programs Using Patterns
Proving programs terminating is a fundamental computer science challenge. Recent research has produced powerful tools that can check a wide range of programs for termination. The analog for probabilistic programs, namely termination with probability one (“almost-sure termination”), is an equally important property for randomized algorithms and probabilistic protocols. We suggest a novel algorithm for proving almost-sure termination of probabilistic programs. Our algorithm exploits the power of state-of-the-art model checkers and termination provers for nonprobabilistic programs: it calls such tools within a refinement loop and thereby iteratively constructs a “terminating pattern”, which is a set of terminating runs with probability one. We report on various case studies illustrating the effectiveness of our algorithm. As a further application, our algorithm can improve lower bounds on reachability probabilities.
KeywordsOutgoing Edge Initial Node Short Word Probabilistic Program Transition Invariant
Unable to display preview. Download preview PDF.
- 2.Baier, C., Katoen, J.-P.: Principles of model checking. MIT Press (2008)Google Scholar
- 6.Esparza, J., Gaiser, A., Kiefer, S.: Proving termination of probabilistic programs using patterns. Technical report (2012), http://arxiv.org/abs/1204.2932
- 9.Holzmann, G.: The Spin Model Checker: Primer and Reference Manual, 1st edn. Addison-Wesley Professional (2003)Google Scholar
- 15.Pnueli, A.: On the extremely fair treatment of probabilistic algorithms. In: STOC, pp. 278–290. ACM (1983)Google Scholar
- 17.Podelski, A., Rybalchenko, A.: Transition invariants. In: LICS, pp. 32–41. IEEE Computer Society (2004)Google Scholar
- 20.Rybalchenko, A.: Temporal verification with transition invariants. PhD thesis (2005)Google Scholar