Formal Methods For Probabilistic Programming
Probabilistic programming systems are infamously difficult to test. Most properties of interest only hold probabilistically, and so on any particular set of runs a correct implementation may produce unexpected output while an incorrect implementation may produce the expected output. To make matters worse, the expected output is rarely known in the first place. While a small subset of a probabilistic programming language may permit exact inference by other means, most of the complexity in a probabilistic programming system will likely only apply to programs that make use of more sophisticated language features, such as branching and recursion. There may be no way to know a priori how inference is supposed to behave on such programs. We show how developers can avoid empirical testing altogether and simply prove that their probabilistic programming systems behave correctly on all inputs using tools from software verification and formal mathematics.
Tue 9 JanDisplayed time zone: Tijuana, Baja California change
10:30 - 12:00 | |||
10:30 30mTalk | The semantic structure of quasi-Borel spaces: algebra, logic, and recursion PPS Chris Heunen University of Edinburgh, Ohad Kammar University of Oxford, Sean Moss University of Oxford, Adam Ścibior University of Cambridge and MPI Tuebingen, Sam Staton University of Oxford, Matthijs Vákár University of Oxford, Hongseok Yang University of Oxford | ||
11:00 30mTalk | Stable, measurable functions and probabilistic programs PPS Michele Pagani University Paris Diderot, Thomas Ehrhard CNRS and University Paris Diderot, Christine Tasson University Paris Diderot | ||
11:30 30mTalk | Formal Methods For Probabilistic Programming PPS Daniel Selsam Stanford University |