skip to main content
10.1007/978-3-642-31424-7_14guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Proving termination of probabilistic programs using patterns

Published: 07 July 2012 Publication History

Abstract

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.

References

[1]
Arons, T., Pnueli, A., Zuck, L.D.: Parameterized Verification by Probabilistic Abstraction. In: Gordon, A.D. (ed.) FOSSACS 2003. LNCS, vol. 2620, pp. 87-102. Springer, Heidelberg (2003).
[2]
Baier, C., Katoen, J.-P.: Principles of model checking. MIT Press (2008).
[3]
Bracha, G., Toueg, S.: Asynchronous consensus and broadcast protocols. J. ACM 32, 824-840 (1985).
[4]
Cook, B., Podelski, A., Rybalchenko, A.: Terminator: Beyond Safety. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 415-418. Springer, Heidelberg (2006).
[5]
Esparza, J., Gaiser, A.: Probabilistic Abstractions with Arbitrary Domains. In: Yahav, E. (ed.) SAS 2011. LNCS, vol. 6887, pp. 334-350. Springer, Heidelberg (2011).
[6]
Esparza, J., Gaiser, A., Kiefer, S.: Proving termination of probabilistic programs using patterns. Technical report (2012), http://arxiv.org/abs/1204.2932
[7]
Hahn, E.M., Hermanns, H., Wachter, B., Zhang, L.: PASS: Abstraction Refinement for Infinite Probabilistic Models. In: Esparza, J., Majumdar, R. (eds.) TACAS 2010. LNCS, vol. 6015, pp. 353-357. Springer, Heidelberg (2010).
[8]
Hermanns, H., Wachter, B., Zhang, L.: Probabilistic CEGAR. In: Gupta, A., Malik, S. (eds.) CAV 2008. LNCS, vol. 5123, pp. 162-175. Springer, Heidelberg (2008).
[9]
Holzmann, G.: The Spin Model Checker: Primer and Reference Manual, 1st edn. Addison-Wesley Professional (2003).
[10]
Kattenbelt, M., Kwiatkowska, M., Norman, G., Parker, D.: Abstraction Refinement for Probabilistic Software. In: Jones, N.D., Müller-Olm, M. (eds.) VMCAI 2009. LNCS, vol. 5403, pp. 182-197. Springer, Heidelberg (2009).
[11]
McIver, A., Morgan, C.: Developing and Reasoning About Probabilistic Programs in pGCL. In: Cavalcanti, A., Sampaio, A., Woodcock, J. (eds.) PSSE 2004. LNCS, vol. 3167, pp. 123-155. Springer, Heidelberg (2006).
[12]
McIver, A., Morgan, C., Hoang, T.S.: Probabilistic Termination in B. In: Bert, D., Bowen, J. P., King, S., Waldén, M. (eds.) ZB 2003. LNCS, vol. 2651, pp. 216-239. Springer, Heidelberg (2003).
[13]
Monniaux, D.: An Abstract Analysis of the Probabilistic Termination of Programs. In: Cousot, P. (ed.) SAS 2001. LNCS, vol. 2126, pp. 111-126. Springer, Heidelberg (2001).
[14]
Nakata, T.: On the expected time for Herman's probabilistic self-stabilizing algorithm. Theoretical Computer Science 349(3), 475-483 (2005).
[15]
Pnueli, A.: On the extremely fair treatment of probabilistic algorithms. In: STOC, pp. 278-290. ACM (1983).
[16]
Pnueli, A., Zuck, L.D.: Probabilistic verification. Inf. Comput. 103, 1-29 (1993).
[17]
Podelski, A., Rybalchenko, A.: Transition invariants. In: LICS, pp. 32-41. IEEE Computer Society (2004).
[18]
Podelski, A., Rybalchenko, A.: ARMC: The Logical Choice for Software Model Checking with Abstraction Refinement. In: Hanus, M. (ed.) PADL 2007. LNCS, vol. 4354, pp. 245-259. Springer, Heidelberg (2006).
[19]
Podelski, A., Rybalchenko, A.: Transition Invariants and Transition Predicate Abstraction for Program Termination. In: Abdulla, P.A., Leino, K.R.M. (eds.) TACAS 2011. LNCS, vol. 6605, pp. 3-10. Springer, Heidelberg (2011).
[20]
Rybalchenko, A.: Temporal verification with transition invariants. PhD thesis (2005).

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
CAV'12: Proceedings of the 24th international conference on Computer Aided Verification
July 2012
789 pages
ISBN:9783642314230
  • Editors:
  • P. Madhusudan,
  • Sanjit A. Seshia

Sponsors

  • NEC Labs: NEC Labs
  • IBMR: IBM Research
  • Intel: Intel
  • Microsoft Research: Microsoft Research

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 07 July 2012

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media