Data-Driven Invariant Learning for Probabilistic Programs
Jialu Bao, Nitesh Trivedi, Drashti Pathak, Justin Hsu, Subhajit Roy

TL;DR
This paper introduces a novel data-driven method for synthesizing invariants in probabilistic programs, enabling automatic inference of piecewise continuous invariants and sub-invariants without templates, even with black-box access.
Contribution
It presents the first data-driven invariant synthesis technique for probabilistic programs, capable of learning complex invariants and sub-invariants directly from data.
Findings
Successfully synthesized invariants on multiple benchmarks
Outperformed existing methods in invariant accuracy
Demonstrated effectiveness with black-box program access
Abstract
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, which can measure expected values of probabilistic program quantities. 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 in the output distribution. 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…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsMachine Learning and Algorithms · Software Engineering Research · Adversarial Robustness in Machine Learning
