Caesar: A Deductive Verifier for Probabilistic Programs
Abstract
Caesar is a deductive verifier for probabilistic programs. At its core lies HeyVL, a quantitative intermediate verification language based on the real-valued logic HeyLo. HeyVL allows users to express a probabilistic program, its specifications, and proof rules in a programming-language style, so that new proof rules can be easily integrated into the verifier. Caesar translates HeyVL programs into verification conditions, which are then checked using the Z3 SMT solver. It also includes a backend based on probabilistic model checking for a subset of HeyVL. We report on the results of five years of development of Caesar, highlighting its main features and architecture. In particular, we describe recent improvements such as additional proof rules, a model-checking backend, and better diagnostics.
Authors 7
-
Philipp Schröer Aachen
Affiliation as printed
RWTH Aachen University , Germany
-
Affiliation as printed
Cornell University , USA
-
Umut Yiğit Dural Aachen
Affiliation as printed
RWTH Aachen University , Germany
-
Darion Haase Aachen
Affiliation as printed
RWTH Aachen University , Germany
-
University College London · Saarland University
Affiliation as printed
Saarland University , Germany
University College London , UK
-
Joost-Pieter Katoen Aachen
Affiliation as printed
RWTH Aachen University , Germany
-
Technical University of Denmark · Carl von Ossietzky Universität Oldenburg
Affiliation as printed
DTU Compute , Denmark
University of Oldenburg , Germany