Error Localization, Certificates, and Hints for Probabilistic Program Verification via Slicing (Extended Version)
Philipp Schr\"oer, Darion Haase, Joost-Pieter Katoen

TL;DR
This paper introduces slicing techniques for probabilistic program verification to improve error localization, proof simplification, and verification success preservation, with a formal foundation and practical implementation in the Caesar verifier.
Contribution
It formalizes slicing notions for probabilistic programs, introduces a new error localization method, and implements these diagnostics in the Caesar verifier with empirical evaluation.
Findings
Slicing-based diagnostics effectively localize errors in probabilistic programs.
Brutus can find small, informative slices that aid in debugging and verification.
Empirical results show improved error detection and proof simplification.
Abstract
This paper focuses on effective user diagnostics generated during the deductive verification of probabilistic programs. Our key principle is based on providing slices for (1) error reporting, (2) proof simplification, and (3) preserving successful verification results. By formally defining these different 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 is a novel notion of error localization for quantitative assertions. 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. We implemented our user diagnostics…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Logic, programming, and type systems · Software Testing and Debugging Techniques
