English

Modular Verification for Almost-Sure Termination of Probabilistic Programs

Logic in Computer Science 2019-08-13 v3 Programming Languages

Abstract

In this work, we consider the almost-sure termination problem for probabilistic programs that asks whether a given probabilistic program terminates with probability 1. Scalable approaches for program analysis often rely on modularity as their theoretical basis. In non-probabilistic programs, the classical variant rule (V-rule) of Floyd-Hoare logic provides the foundation for modular analysis. Extension of this rule to almost-sure termination of probabilistic programs is quite tricky, and a probabilistic variant was proposed in [Fioriti and Hermanns 2015]. While the proposed probabilistic variant cautiously addresses the key issue of integrability, we show that the proposed modular rule is still not sound for almost-sure termination of probabilistic programs. Besides establishing unsoundness of the previous rule, our contributions are as follows: First, we present a sound modular rule for almost-sure termination of probabilistic programs. Our approach is based on a novel notion of descent supermartingales. Second, for algorithmic approaches, we consider descent supermartingales that are linear and show that they can be synthesized in polynomial time. Finally, we present experimental results on a variety of benchmarks and several natural examples that model various types of nested while loops in probabilistic programs and demonstrate that our approach is able to efficiently prove their almost-sure termination property.

Keywords

Cite

@article{arxiv.1901.06087,
  title  = {Modular Verification for Almost-Sure Termination of Probabilistic Programs},
  author = {Mingzhang Huang and Hongfei Fu and Krishnendu Chatterjee and Amir Kafshdar Goharshady},
  journal= {arXiv preprint arXiv:1901.06087},
  year   = {2019}
}

Comments

Accepted to OOPSLA 2019

R2 v1 2026-06-23T07:15:19.898Z