Automated Termination Analysis of Polynomial Probabilistic Programs

@article{Moosbrugger2020AutomatedTA,
  title={Automated Termination Analysis of Polynomial Probabilistic Programs},
  author={Marcel Moosbrugger and Ezio Bartocci and Joost-Pieter Katoen and Laura Kov{\'a}cs},
  journal={Programming Languages and Systems},
  year={2020},
  volume={12648},
  pages={491 - 518}
}
The termination behavior of probabilistic programs depends on the outcomes of random assignments. Almost sure termination (AST) is concerned with the question whether a program terminates with probability one on all possible inputs. Positive almost sure termination (PAST) focuses on termination in a finite expected number of steps. This paper presents a fully automated approach to the termination analysis of probabilistic while-programs whose guards and expressions are polynomial expressions… 

Inferring Expected Runtimes of Probabilistic Integer Programs Using Expected Sizes

A novel modular approach to infer upper bounds on the expected runtimes of probabilistic integer programs automatically to this end is presented and implemented in a new version of the open-source tool KoAT.

On Lexicographic Proof Rules for Probabilistic Termination

A generalization of LexRSMs is introduced which allows for some components to be negative, a standard feature of non-probabilistic termination proofs that was hitherto not known to be sound in the probabilistic setting.

The Probabilistic Termination Tool Amber

The Amber tool for proving and refuting the termination of a class of probabilistic while-programs with polynomial arithmetic, in a fully automated manner is described, with practical evidence of Amber outperforming existing state-of-the-art tools.

Distribution Estimation for Probabilistic Loops

An algorithmic approach to estimate the value distributions of random variables of probabilistic loops whose statistical moments are (partially) known, which leverage symbolic approaches to compute exact higher-order moments of loops as well as use sampling-based techniques to estimate moments from loop executions.

A Calculus for Amortized Expected Runtimes

We develop a weakest-precondition-style calculus à la Dijkstra for reasoning about amortized expected runtimes of randomized algorithms with access to dynamic memory — the aert calculus. Our calculus

Symbolic execution for randomized programs

This work proposes a symbolic execution method that can verify randomized programs with unknown inputs and can prove probabilistic properties that universally quantify over all possible inputs, and implements it on top of the KLEE symbolic execution engine.

Sound and Complete Certificates for Quantitative Termination Analysis of Probabilistic Programs

The quantitative problem of obtaining lower-bounds on the probability of termination of a given non-deterministic probabilistic program is considered and a novel sound and complete characterization of stochastic invariants are introduced that enables template-based approaches for easy synthesis of quantitative termination certificates.

Automated Expected Amortised Cost Analysis of Probabilistic Data Structures

In this paper, we present the first fully-automated expected amortised cost analysis of self-adjusting data structures, that is, of randomised splay trees, randomised splay heaps and randomised

Probabilistic Program Verification via Inductive Synthesis of Inductive Invariants

An inductive synthesis approach for proving quantitative reachability properties by proving inductive invariants on source-code level by beating state-of-the-art model checkers on some benchmarks and often outperforming monolithic alternatives.

References

SHOWING 1-10 OF 54 REFERENCES

Stochastic invariants for probabilistic termination

The notion of stochastic invariants, which are constraints along with a probability bound that the constraints hold, are formally defined and a concept of repulsing supermartingales is introduced, which can be used to obtain bounds on the probability of the stochastics invariants.

Proving Termination of Probabilistic Programs Using Patterns

This work suggests a novel algorithm for proving almost-sure termination of probabilistic programs, which exploits the power of state-of-the-art model checkers and termination provers for nonprobabilistic Programs and can improve lower bounds on reachability probabilities.

Modular verification for almost-sure termination of probabilistic programs

This work presents a sound modular rule for almost-sure termination of probabilistic programs that is based on a novel notion of descent supermartingales that can be synthesized in polynomial time and presents experimental results on a variety of benchmarks and several natural examples.

Termination Analysis of Probabilistic Programs Through Positivstellensatz's

The approach synthesizes polynomial ranking-supermartingales through Positivstellensatz’s, yielding an efficient method which is not only sound, but also semi-complete over a large subclass of programs.

A new proof rule for almost-sure termination

A new proof rule is presented for proving almost-sure termination of probabilistic programs, including those that contain demonic non-determinism, which uses variant functions that are real-valued and decrease randomly on each loop iteration; but the amount as well as the probability of the decrease are parametric.

Bounded expectations: resource analysis for probabilistic programs

A new static analysis for deriving upper bounds on the expected resource consumption of probabilistic programs that combines the clarity and compositionality of a weakest-precondition calculus with the efficient automation of AARA.

Lexicographic ranking supermartingales: an efficient approach to termination of probabilistic programs

Probabilistic programs extend classical imperative programs with real-valued random variables and random branching. The most basic liveness property for such programs is the termination property. The

Weakest Precondition Reasoning for Expected Runtimes of Randomized Algorithms

This article presents a wp--style calculus for obtaining bounds on the expected runtime of randomized algorithms, and shows that the approach is a conservative extension of Nielson’s approach for reasoning about the runtime of deterministic programs.

Probabilistic Program Analysis with Martingales

We present techniques for the analysis of infinite state probabilistic programs to synthesize probabilistic invariants and prove almost-sure termination. Our analysis is based on the notion of

An axiomatic basis for computer programming

In this paper an attempt is made to explore the logical foundations of computer programming by use of techniques which were first applied in the study of geometry and have later been extended to
...