Data-Driven Invariant Learning for Probabilistic Programs (Extended Abstract)

Abstract

The weakest pre-expectation framework from Morgan and McIver for deductive verification of probabilistic programs generalizes binary state assertions to real-valued expectations to measure expected values of expressions over probabilistic program variables. While loop-free programs can be analyzed by mechanically transforming expectations, verifying programs with loops requires finding an invariant expectation. We view invariant expectation synthesis as a regression problem: given an input state, predict the average value of the post-expectation in the output distribution. With this perspective, we develop the first data-driven invariant synthesis method for probabilistic programs. Unlike prior work on probabilistic invariant inference, our approach learns 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.

Cite

Text

Bao et al. "Data-Driven Invariant Learning for Probabilistic Programs (Extended Abstract)." International Joint Conference on Artificial Intelligence, 2023. doi:10.24963/IJCAI.2023/712

Markdown

[Bao et al. "Data-Driven Invariant Learning for Probabilistic Programs (Extended Abstract)." International Joint Conference on Artificial Intelligence, 2023.](https://mlanthology.org/ijcai/2023/bao2023ijcai-data/) doi:10.24963/IJCAI.2023/712

BibTeX

@inproceedings{bao2023ijcai-data,
  title     = {{Data-Driven Invariant Learning for Probabilistic Programs (Extended Abstract)}},
  author    = {Bao, Jialu and Trivedi, Nitesh and Pathak, Drashti and Hsu, Justin and Roy, Subhajit},
  booktitle = {International Joint Conference on Artificial Intelligence},
  year      = {2023},
  pages     = {6415-6419},
  doi       = {10.24963/IJCAI.2023/712},
  url       = {https://mlanthology.org/ijcai/2023/bao2023ijcai-data/}
}