Abstract
AbstractMorgan 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 relying on template expectations. We also develop a data-driven approach to learn sub-invariants from data, which can be used to upper- or lower-bound expected values. We implement our approaches and demonstrate their effectiveness on a variety of benchmarks from the probabilistic programming literature.
Publisher
Springer International Publishing
Cited by
10 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Programmatic Strategy Synthesis: Resolving Nondeterminism in Probabilistic Programs;Proceedings of the ACM on Programming Languages;2024-01-05
2. A Deductive Verification Infrastructure for Probabilistic Programs;Proceedings of the ACM on Programming Languages;2023-10-16
3. An Integrated Program Analysis Framework for Graduate Courses in Programming Languages and Software Engineering;2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE);2023-09-11
4. Automated Expected Value Analysis of Recursive Programs;Proceedings of the ACM on Programming Languages;2023-06-06
5. A Theorem Proving Approach to Programming Language Semantics;2023 IEEE/ACM 45th International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET);2023-05