DeepAI AI Chat
Log In Sign Up

Data-Driven Invariant Learning for Probabilistic Programs

by   Jialu Bao, et al.

Morgan and McIver's weakest pre-expectation framework is one of the most well-established methods for deductive verification of probabilistic programs. Roughly, the idea is to generalize binary state assertions to real-valued expectations. While loop-free programs can be analyzed by mechanically transforming expectations, verifying loops usually requires finding an invariant expectation, a difficult task. We propose a new view of invariant expectation synthesis as a regression problem: given an input state, predict the average value of the post-expectation. Guided by this perspective, we develop the first data-driven invariant synthesis method for probabilistic programs. Unlike prior work on probabilistic invariant inference, our approach can learn piecewise continuous invariants without relying on template expectations, and also works when only given black-box access to the program. We implement our approach and demonstrate its effectiveness on a variety of benchmarks from the probabilistic programming literature.


page 1

page 2

page 3

page 4


Data-Driven Loop Invariant Inference with Automatic Feature Synthesis

We present LoopInvGen, a tool for generating loop invariants that can pr...

Learning Nonlinear Loop Invariants with Gated Continuous Logic Networks

In many cases, verifying real-world programs requires inferring loop inv...

Learning Nonlinear Loop Invariants with Gated Continuous Logic Networks (Extended Version)

Verifying real-world programs often requires inferring loop invariants w...

OASIS: ILP-Guided Synthesis of Loop Invariants

Finding appropriate inductive loop invariants for a program is a key cha...

A Deductive Verification Infrastructure for Probabilistic Programs

This paper presents a quantitative program verification infrastructure f...

Expectation-based Minimalist Grammars

Expectation-based Minimalist Grammars (e-MGs) are simplified versions of...

Expectation Programming

Building on ideas from probabilistic programming, we introduce the conce...