A Deductive Verification Infrastructure for Probabilistic Programs

被引:4
|
作者
Schroeer, Philipp [1 ]
Batz, Kevin [1 ]
Kaminski, Benjamin Lucien [2 ,3 ]
Katoen, Joost-Pieter [1 ]
Matheja, Christoph [4 ]
机构
[1] Rhein Westfal TH Aachen, Aachen, Germany
[2] Saarland Univ, Saarbrucken, Germany
[3] UCL, London, England
[4] Tech Univ Denmark, Lyngby, Denmark
来源
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL | 2023年 / 7卷 / OOPSLA期
关键词
deductive verification; quantitative verification; probabilistic programs; weakest preexpectations; real-valued logics; automated reasoning; INVARIANT GENERATION; INDUCTION; CHECKING;
D O I
10.1145/3622870
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页数:31
相关论文
共 50 条
  • [1] Practical Deductive Verification of OCaml Programs
    Pereira, Mario
    FORMAL METHODS, PT II, FM 2024, 2025, 14934 : 518 - 542
  • [2] VERIFICATION OF PROBABILISTIC PROGRAMS
    SHARIR, M
    PNUELI, A
    HART, S
    SIAM JOURNAL ON COMPUTING, 1984, 13 (02) : 292 - 314
  • [3] A dynamic logic for deductive verification of concurrent programs
    Beckert, Bernhard
    Klebanov, Vladimir
    SEFM 2007: FIFTH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND FORMAL METHODS, PROCEEDINGS, 2007, : 141 - +
  • [4] Requirement Patterns in Deductive Verification of poST Programs
    Chernenko, I. M.
    Anureev, I. S.
    Garanina, N. O.
    AUTOMATIC CONTROL AND COMPUTER SCIENCES, 2024, 58 (07) : 1003 - 1024
  • [5] Region analysis for deductive verification of C programs
    Mandrykin, M. U.
    Khoroshilov, A. V.
    PROGRAMMING AND COMPUTER SOFTWARE, 2016, 42 (05) : 257 - 278
  • [6] Region analysis for deductive verification of C programs
    M. U. Mandrykin
    A. V. Khoroshilov
    Programming and Computer Software, 2016, 42 : 257 - 278
  • [7] Deductive verification of probabilistic real-time systems
    Yamane, S
    24TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS WORKSHOPS, PROCEEDINGS, 2004, : 622 - 627
  • [8] Deductive probabilistic verification methods for embedded and ubiquitous computing
    Yamane, S
    Kanatani, T
    EMBEDDED AND UBIQUITOUS COMPUTING, PROCEEDINGS, 2004, 3207 : 183 - 195
  • [9] On automated verification of probabilistic programs
    Legay, Axel
    Murawski, Andrzej S.
    Ouaknine, Joel
    Worrell, James
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, 2008, 4963 : 173 - +
  • [10] Automating Deductive Verification for Weak-Memory Programs
    Summers, Alexander J.
    Mueller, Peter
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2018, PT I, 2018, 10805 : 190 - 209