Transforming Probabilistic Programs for Model Checking
Ryan Bernstein, Matthijs V\'ak\'ar, Jeannette Wing

TL;DR
This paper introduces a static analysis method to transform probabilistic programs into efficient sampling code, automating key model checking tasks and enhancing Bayesian workflows in probabilistic programming.
Contribution
It presents a novel static analysis approach that automates the transformation of probabilistic programs into sampling code, enabling more efficient model checking.
Findings
Automated transformation of probabilistic programs into sampling code.
Application to Stan language for Bayesian workflows.
Improved efficiency in model checking tasks.
Abstract
Probabilistic programming is perfectly suited to reliable and transparent data science, as it allows the user to specify their models in a high-level language without worrying about the complexities of how to fit the models. Static analysis of probabilistic programs presents even further opportunities for enabling a high-level style of programming, by automating time-consuming and error-prone tasks. We apply static analysis to probabilistic programs to automate large parts of two crucial model checking methods: Prior Predictive Checks and Simulation-Based Calibration. Our method transforms a probabilistic program specifying a density function into an efficient forward-sampling form. To achieve this transformation, we extract a factor graph from a probabilistic program using static analysis, generate a set of proposal directed acyclic graphs using a SAT solver, select a graph which will…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
