Debugging Probabilistic Programs

被引:6
|
作者
Nandi, Chandrakana [1 ]
Sampson, Adrian [2 ]
Mytkowicz, Todd [3 ]
McKinley, Kathryn S. [4 ]
机构
[1] Univ Washington, Seattle, WA 98195 USA
[2] Cornell Univ, Ithaca, NY USA
[3] Microsoft Res, Redmond, WA USA
[4] Google, Mountain View, CA USA
关键词
Probabilistic programming; debugging; program analysis; statistical inference;
D O I
10.1145/3088525.3088564
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
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.
引用
收藏
页码:18 / 26
页数:9
相关论文
共 50 条
  • [1] SixthSense: Debugging Convergence Problems in Probabilistic Programs via Program Representation Learning
    Dutta, Saikat
    Huang, Zixin
    Misailovic, Sasa
    [J]. FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, FASE 2022, 2022, 13241 : 123 - +
  • [2] Debugging convergence problems in probabilistic programs via program representation learning with SixthSense
    Huang, Zixin
    Dutta, Saikat
    Misailovic, Sasa
    [J]. INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2024, 26 (03) : 249 - 268
  • [3] Probabilistic Delta Debugging
    Wang, Guancheng
    Shen, Ruobing
    Chen, Junjie
    Xiong, Yingfei
    Zhang, Lu
    [J]. PROCEEDINGS OF THE 29TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '21), 2021, : 881 - 892
  • [4] UNDERSTANDING AND DEBUGGING PROGRAMS
    LUKEY, FJ
    [J]. INTERNATIONAL JOURNAL OF MAN-MACHINE STUDIES, 1980, 12 (02): : 189 - 202
  • [5] Debugging DVM Programs
    V. A. Krukov
    R. V. Udovichenko
    [J]. Programming and Computer Software, 2001, 27 : 123 - 129
  • [6] DEBUGGING THOSE PROGRAMS
    ALBERS, RJ
    [J]. PLANT ENGINEERING, 1985, 39 (06) : 4 - 4
  • [7] Debugging functional programs
    Stumptner, M
    Wotawa, F
    [J]. IJCAI-99: PROCEEDINGS OF THE SIXTEENTH INTERNATIONAL JOINT CONFERENCE ON ARTIFICIAL INTELLIGENCE, VOLS 1 & 2, 1999, : 1074 - 1079
  • [8] DEBUGGING TSR PROGRAMS
    MENICO, C
    [J]. DR DOBBS JOURNAL, 1989, 14 (02): : 67 - &
  • [9] Debugging DVM programs
    Krukov, VA
    Udovichenko, RV
    [J]. PROGRAMMING AND COMPUTER SOFTWARE, 2001, 27 (03) : 123 - 129
  • [10] DEBUGGING CONCURRENT PROGRAMS
    MCDOWELL, CE
    HELMBOLD, DP
    [J]. COMPUTING SURVEYS, 1989, 21 (04) : 593 - 622