A Deductive Verification Infrastructure for Probabilistic Programs

09/14/2023
by   Philipp Schröer, et al.
0

This paper presents a quantitative program verification infrastructure for discrete probabilistic programs. Our infrastructure can be viewed as the probabilistic analogue of Boogie: its central components are an intermediate verification language (IVL) together with a real-valued logic. Our IVL provides a programming-language-style for expressing verification conditions whose validity implies the correctness of a program under investigation. As our focus is on verifying quantitative properties such as bounds on expected outcomes, expected run-times, or termination probabilities, off-the-shelf IVLs based on Boolean first-order logic do not suffice. Instead, a paradigm shift from the standard Boolean to a real-valued domain is required. Our IVL features quantitative generalizations of standard verification constructs such as assume- and assert-statements. Verification conditions are generated by a weakest-precondition-style semantics, based on our real-valued logic. We show that our verification infrastructure supports natural encodings of numerous verification techniques from the literature. With our SMT-based implementation, we automatically verify a variety of benchmarks. To the best of our knowledge, this establishes the first deductive verification infrastructure for expectation-based reasoning about probabilistic programs.

READ FULL TEXT

page 2

page 26

research
02/18/2016

Applying Boolean discrete methods in the production of a real-valued probabilistic programming model

In this paper we explore the application of some notable Boolean methods...
research
10/27/2020

Relatively Complete Verification of Probabilistic Programs

We study a syntax for specifying quantitative "assertions" - functions m...
research
03/14/2018

An Assertion-Based Program Logic for Probabilistic Programs

Research on deductive verification of probabilistic programs has conside...
research
04/06/2020

Integrating Owicki-Gries for C11-Style Memory Models into Isabelle/HOL

Weak memory presents a new challenge for program verification and has re...
research
08/08/2017

Proving Expected Sensitivity of Probabilistic Programs

Program sensitivity, also known as Lipschitz continuity, describes how s...
research
06/09/2021

Data-Driven Invariant Learning for Probabilistic Programs

Morgan and McIver's weakest pre-expectation framework is one of the most...
research
06/01/2019

Synthesizing Datalog Programs using Numerical Relaxation

The problem of learning logical rules from examples arises in diverse fi...

Please sign up or login with your details

Forgot password? Click here to reset