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

Saikat Dutta, Zixin Huang, Sasa Misailovic

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

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.

Original languageEnglish (US)
Title of host publicationFundamental Approaches to Software Engineering - 25th International Conference, FASE 2022, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022, Proceedings
EditorsEinar Broch Johnsen, Manuel Wimmer
PublisherSpringer
Pages123-144
Number of pages22
ISBN (Print)9783030994280
DOIs
StatePublished - 2022
Event25th International Conference on Fundamental Approaches to Software Engineering, FASE 2022, held as part of the annual European Joint Conferences on Theory and Practice of Software, ETAPS 2022 - Munich, Germany
Duration: Apr 4 2022Apr 5 2022

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume13241 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference25th International Conference on Fundamental Approaches to Software Engineering, FASE 2022, held as part of the annual European Joint Conferences on Theory and Practice of Software, ETAPS 2022
Country/TerritoryGermany
CityMunich
Period4/4/224/5/22

Keywords

  • Debugging
  • Machine Learning
  • Probabilistic Programming

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'SixthSense: Debugging Convergence Problems in Probabilistic Programs via Program Representation Learning'. Together they form a unique fingerprint.

Cite this