Storm: Program Reduction for Testing and Debugging Probabilistic Programming Systems

被引:24
|
作者
Dutta, Saikat [1 ]
Zhang, Wenxian [1 ]
Huang, Zixin [1 ]
Misailovic, Sasa [1 ]
机构
[1] Univ Illinois, Chicago, IL 60680 USA
关键词
Probabilistic Programming Languages; Software Testing;
D O I
10.1145/3338906.3338972
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Probabilistic programming languages offer an intuitive way to model uncertainty by representing complex probability models as simple probabilistic programs. Probabilistic programming systems (PP systems) hide the complexity of inference algorithms away from the program developer. Unfortunately, if a failure occurs during the run of a PP system, a developer typically has very little support in finding the part of the probabilistic program that causes the failure in the system. This paper presents Storm, a novel general framework for reducing probabilistic programs. Given a probabilistic program (with associated data and inference arguments) that causes a failure in a PP system, Storm finds a smaller version of the program, data, and arguments that cause the same failure. Storm leverages both generic code and data transformations from compiler testing and domain-specific, probabilistic transformations. The paper presents new transformations that reduce the complexity of statements and expressions, reduce data size, and simplify inference arguments (e.g., the number of iterations of the inference algorithm). We evaluated Storm on 47 programs that caused failures in two popular probabilistic programming systems, Stan and Pyro. Our experimental results show Storm's effectiveness. For Stan, our minimized programs have 49% less code, 67% less data, and 96% fewer iterations. For Pyro, our minimized programs have 58% less code, 96% less data, and 99% fewer iterations. We also show the benefits of Storm when debugging probabilistic programs.
引用
收藏
页码:729 / 739
页数:11
相关论文
共 50 条
  • [21] Customized testing for probabilistic systems
    Llana-Diaz, Luis F.
    Nunez, Manuel
    Rodríguez, Ismael
    [J]. TESTING OF COMMUNICATION SYSTEMS, PROCEEDINGS, 2006, 3964 : 87 - 102
  • [22] Use of Elvira's explanation facility for debugging probabilistic expert systems
    Lacave, Carmen
    Onisko, Agnieszka
    Diez, Francisco J.
    [J]. KNOWLEDGE-BASED SYSTEMS, 2006, 19 (08) : 730 - 738
  • [23] Scalability of genetic programming and probabilistic incremental program evolution
    Ondas, Radovan
    Pelikan, Martin
    Sastry, Kumara
    [J]. GECCO 2005: GENETIC AND EVOLUTIONARY COMPUTATION CONFERENCE, VOLS 1 AND 2, 2005, : 1785 - 1786
  • [24] Confluence Reduction for Probabilistic Systems
    Timmer, Mark
    Stoelinga, Marielle
    van de Pol, Jaco
    [J]. TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, 2011, 6605 : 311 - 325
  • [25] Genetic programming, probabilistic incremental program evolution, and scalability
    Ondas, Radovan
    Pelikan, Martin
    Sastry, Kumara
    [J]. APPLICATIONS OF SOFT COMPUTING: RECENT TRENDS, 2006, : 363 - +
  • [26] Classifying data Dependences in the presence of pointers for program comprehension, testing, and debugging
    Orso, A
    Sinha, S
    Harrold, MJ
    [J]. ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2004, 13 (02) : 199 - 239
  • [27] Semi-Proving: An Integrated Method for Program Proving, Testing, and Debugging
    Chen, Tsong Yueh
    Tse, T. H.
    Zhou, Zhi Quan
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2011, 37 (01) : 109 - 125
  • [28] Effective testing and debugging methods and its supporting system with program deltas
    Matsushita, M
    Teraguchi, M
    Inoue, K
    [J]. INTERNATIONAL SYMPOSIUM ON PRINCIPLES OF SOFTWARE EVOLUTION, PROCEEDINGS, 2000, : 282 - 289
  • [29] Algorithmic debugging and literate programming to generate feedback in intelligent tutoring systems
    Zinn, Claus
    [J]. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2014, 8736 : 37 - 48
  • [30] ProPPA: Probabilistic Programming for Stochastic Dynamical Systems
    Georgoulas, Anastasis
    Hillston, Jane
    Sanguinetti, Guido
    [J]. ACM TRANSACTIONS ON MODELING AND COMPUTER SIMULATION, 2018, 28 (01):