SixthSense: Debugging Convergence Problems in Probabilistic Programs via Program Representation Learning

SixthSense: Debugging Convergence Problems in Probabilistic Programs via Program Representation Learning
复制标题

SixthSense:通过程序表示学习调试概率程序中的收敛问题

DOI:
10.1007/978-3-030-99429-7_7
复制
发表时间:
2022
期刊:
25th International Conference on Fundamental Approaches to Software Engineering
影响因子:
--
通讯作者:
Misailovic, Sasa
Misailovic, Sasa
中科院分区:
--
文献类型:
--
作者:
Dutta, Saikat;Huang, Zixin;Misailovic, Sasa

文献摘要

参考文献

相似文献

概率编程旨在向软件开发人员和科学家开放贝叶斯推理的能力,但在推理和调试过程中识别问题完全留给开发人员,通常需要大量的统计专业知识。在编写概率程序时,一个常见的问题是概率程序无法收敛到它们的后验分布。我们提出了第六感,一种新的方法预测概率程序收敛提前运行和调试收敛问题的概率程序中的应用。SixthSense的训练算法学习一个分类器,该分类器可以预测以前看不见的概率程序是否会收敛。它将概率程序的句法编码为句法程序路径的模体片段。分类器的决策是可解释的,并且可以用于建议对程序收敛或不收敛有显著贡献的程序特征。我们还提出了一个算法,用于增强一组训练概率的程序,使用指导mutation.We广泛的广泛使用的概率程序评估第六感。我们的研究结果表明,第六感功能是有效的预测收敛的程序给定的推理算法。SixthSense在预测收敛性方面获得了超过78%的准确性,大大高于预测程序属性Code2Vec和Code2Seq的最新技术。我们展示了第六感引导收敛问题调试的能力,Stan的内置警告更好地指出了不收敛的原因。
Probabilistic programming aims to open the power of Bayesian reasoning to software developers and scientists, but identification of problems during inference and debugging are left entirely to the developers and typically require significant statistical expertise. A common class of problems when writing probabilistic programs is the lack of convergence of the probabilistic programs to their posterior distributions. We present SixthSense, a novel approach for predicting probabilistic program convergence ahead of run and its application to debugging convergence problems in probabilistic programs. SixthSense’s training algorithm learns a classifier that can predict whether a previously unseen probabilistic program will converge. It encodes the syntax of a probabilistic program as motifs–fragments of the syntactic program paths. The decisions of the classifier are interpretable and can be used to suggest the program features that contributed significantly to program convergence or non-convergence. We also present an algorithm for augmenting a set of training probabilistic programs that uses guided mutation.We evaluated SixthSense on a broad range of widely used probabilistic programs. Our results show that SixthSense features are effective in predicting convergence of programs for given inference algorithms. SixthSense obtained Accuracy of over 78% for predicting convergence, substantially above the state-of-the-art techniques for predicting program properties Code2Vec and Code2Seq. We show the ability of SixthSense to guide the debugging of convergence problems, which pinpoints the causes of non-convergence significantly better by Stan’s built-in warnings.
DOI: 10.1007/978-3-030-88885-5_16
发表时间: 2021
期刊: 2021 in Automated Technology for Verification and Analysis
影响因子: --
作者:
Huang, Zixin;Dutta, Saikat;Misailovic, Sasa
通讯作者: Misailovic, Sasa
Bean Machine:一种用于高效可编程推理的声明式概率编程语言
DOI: --
发表时间: 2020
期刊: European Workshop on Probabilistic Graphical Models
影响因子: --
作者:
N. Tehrani;Nimar S. Arora;David Noursi;Michael Tingley;Narjes Torabi;Eric Lippert
通讯作者: Eric Lippert
DOI: 10.18637/jss.v076.i01
发表时间: 2017-01-01
影响因子: 5.8
作者:
Carpenter, Bob;Gelman, Andrew;Riddell, Allen
通讯作者: Riddell, Allen
DOI: 10.1145/3088525.3088564
发表时间: 2017
期刊: Proceedings of the 1st ACM SIGPLAN International Workshop on Machine Learning and Programming Languages
影响因子: --
作者:
Chandrakana Nandi;D. Grossman;Adrian Sampson;Todd Mytkowicz;K. McKinley
通讯作者: K. McKinley
DOI: 10.1145/1327452.1327494
发表时间: 2008-01-01
影响因子: 22.7
作者:
Andoni, Alexandr;Indyk, Piotr
通讯作者: Indyk, Piotr