Diagnostics in Probabilistic Program Verification
This program is tentative and subject to change.
This paper focuses on effective user diagnostics generated during the deductive verification of probabilistic programs. Our key principle is based on providing different kinds of slices for (1) error reporting, (2) proof simplification, and (3) preserving succesful verification results. By formally defining these notions on HeyVL, an existing quantitative intermediate verification language (IVL), our concepts (and implementation) can be used to obtain diagnostics for a range of probabilistic programming languages. Slicing for error reporting provides the first formal definition of error localization for quantitative assertion statements. We demonstrate slicing-based diagnostics on a variety of proof rules such as quantitative versions of the specification statement and invariant-based loop rules, and formally prove the correctness of specialized error messages and verification hints.
As our approach is based on a conservative extension of Boolean IVLs, our results apply to non-probabilistic deductive verification such as Dafny or Viper.
We implemented our user diagnostics into the deductive verifier Caesar. Our implementation — dubbed Brutus — can search for verifying or error slices. We empirically evaluate Brutus on a set of benchmarks from the literature, as well as on new benchmarks. To solve for slices that verify, we empirically compare different algorithms based on unsatisfiable cores, minimal unsatisfiable subset enumeration, and a direct encoding of the slicing problem to SMT. These searches are integrated into Caesar to generate user diagnostics.
This program is tentative and subject to change.
Sun 11 JanDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
11:00 - 12:30 | |||
11:00 18mTalk | Diagnostics in Probabilistic Program Verification Dafny Philipp Schröer RWTH Aachen University, Darion Haase RWTH Aachen University, Joost-Pieter Katoen RWTH Aachen University | ||
11:18 18mTalk | Explicit Abstraction Barrier for Autoactive Verification Dafny Paul Patault Université Paris-Saclay - Laboratoire de Méthodes Formelles Pre-print | ||
11:36 18mTalk | Managing the Proof Context in SPARK Dafny | ||
11:54 18mTalk | Tunable Automation in Automated Program Verification Dafny Alexander Bai New York University, Chris Hawblitzel Microsoft Research, Andrea Lattuada VMware Research | ||
12:12 18mTalk | Velvet: A Multi-Modal Verifier for Effectful Programs Dafny Vladimir Gladshtein , George Pîrlea National University of Singapore, Qiyuan Zhao National University of Singapore, Vitaly Kurin Neapolis University Pafos, Ilya Sergey National University of Singapore Pre-print | ||