A Deductive Verification Infrastructure for Probabilistic Programs (Extended Version)
arXiv:2309.07781 · doi:10.1145/3622870
Abstract
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.
arXiv commentThis is an extended and updated version of the the publication at OOPSLA 2023 (https://doi.org/10.1145/3622870)
References in corpus (5)
- Aiming Low Is Harder -- Induction for Lower Bounds in Probabilistic Program Verification
- Quantitative Separation Logic - A Logic for Reasoning about Probabilistic Programs
- Synthesizing Probabilistic Invariants via Doob's Decomposition
- Automated Expected Amortised Cost Analysis of Probabilistic Data Structures
- Symbolic Execution for Randomized Programs
Cited by in corpus (5)
- Error Credits: Resourceful Reasoning about Error Bounds for Higher-Order Probabilistic Programs
- J-P: MDP. FP. PP.: Characterizing Total Expected Rewards in Markov Decision Processes as Least Fixed Points with an Application to Operational Semantics of Probabilistic Programs (Technical Report)
- Probabilistic unifying relations for modelling epistemic and aleatoric uncertainty: semantics and automated reasoning with theorem proving
- Symbolic Quantitative Information Flow for Probabilistic Programs
- Polar: An Algebraic Analyzer for (Probabilistic) Loops