Debugging probabilistic programs
Debugging probabilistic programs
复制标题
调试概率程序
DOI:
10.1145/3088525.3088564
复制
发表时间:
2017
期刊:
影响因子:
--
通讯作者:
K. McKinley
中科院分区:
文献类型:
--
作者:
Chandrakana Nandi;D. Grossman;Adrian Sampson;Todd Mytkowicz;K. McKinley
Many applications compute with estimated and uncertain data. While advances in probabilistic programming help developers build such applications, debugging them remains extremely challenging. New types of errors in probabilistic programs include 1) ignoring dependencies and correlation between random variables and in training data, 2) poorly chosen inference hyper-parameters, and 3) incorrect statistical models. A partial solution to prevent these errors in some languages forbids developers from explicitly invoking inference. While this prevents some dependence errors, it limits composition and control over inference, and does not guarantee absence of other types of errors. This paper presents the FLEXI programming model which supports constructs for invoking inference in the language and reusing the results in other statistical computations. We define a novel formalism for inference with a Decorated Bayesian Network and present a tool, DePP, that analyzes this representation to identify the above errors. We evaluate DePP on a range of prototypical examples to show how it helps developers to detect errors.