PLLGMLSep 10, 2019

Static Analysis for Probabilistic Programs

arXiv:1909.05076v122 citations
Originality Synthesis-oriented
AI Analysis

It organizes a young, unorganized field to guide future research for improving statistical machine learning tools.

This paper synthesizes the field of static analysis for probabilistic programming (SAPP), organizing existing techniques into a functional taxonomy and analyzing their applicability to optimize learning, verify models, and improve programming interfaces.

Probabilistic programming is a powerful abstraction for statistical machine learning. Applying static analysis methods to probabilistic programs could serve to optimize the learning process, automatically verify properties of models, and improve the programming interface for users. This field of static analysis for probabilistic programming (SAPP) is young and unorganized, consisting of a constellation of techniques with various goals and limitations. The primary aim of this work is to synthesize the major contributions of the SAPP field within an organizing structure and context. We provide technical background for static analysis and probabilistic programming, suggest a functional taxonomy for probabilistic programming languages, and analyze the applicability of major ideas in the SAPP field. We conclude that, while current static analysis techniques for probabilistic programs have practical limitations, there are a number of future directions with high potential to improve the state of statistical machine learning.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes