Probabilistic Program Verification via Inductive Synthesis of Inductive Invariants
Kevin Batz, Mingshuai Chen, Sebastian Junges, Benjamin Lucien Kaminski, Joost-Pieter Katoen, Christoph Matheja
Abstract
Abstract Essential tasks for the verification of probabilistic programs include bounding expected outcomes and proving termination in finite expected runtime. We contribute a simple yet effective inductive synthesis approach for proving such quantitative reachability properties by generating inductive invariants on source-code level . Our implementation shows promise: It finds invariants for (in)finite-state programs, can beat state-of-the-art probabilistic model checkers, and is competitive with modern tools dedicated to invariant synthesis and expected runtime reasoning.
Topics & Concepts
Computer scienceProbabilistic logicProgramming languageInductive methodInductive biasInductive reasoningTheoretical computer scienceArtificial intelligenceMathematicsSystems engineeringEngineeringTeaching methodTask (project management)Multi-task learningMathematics educationFormal Methods in VerificationEmbedded Systems Design TechniquesSoftware Testing and Debugging Techniques