Static Analysis for Probabilistic Programs: Inferring Whole Program Properties from Finitely Many Paths

被引:62
|
作者
Sankaranarayanan, Sriram [1 ]
Chakarov, Aleksandar [1 ]
Gulwani, Sumit [2 ]
机构
[1] Univ Colorado, Boulder, CO 80309 USA
[2] Microsoft Res, Redmond, WA USA
关键词
Probabilistic Programming; Program Verification; Volume Bounding; Symbolic Execution; Monte-Carlo Sampling; MODEL CHECKING;
D O I
10.1145/2499370.2462179
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We propose an approach for the static analysis of probabilistic programs that sense, manipulate, and control based on uncertain data. Examples include programs used in risk analysis, medical decision making and cyber-physical systems. Correctness properties of such programs take the form of queries that seek the probabilities of assertions over program variables. We present a static analysis approach that provides guaranteed interval bounds on the values (assertion probabilities) of such queries. First, we observe that for probabilistic programs, it is possible to conclude facts about the behavior of the entire program by choosing a finite, adequate set of its paths. We provide strategies for choosing such a set of paths and verifying its adequacy. The queries are evaluated over each path by a combination of symbolic execution and probabilistic volume-bound computations. Each path yields interval bounds that can be summed up with a "coverage" bound to yield an interval that encloses the probability of assertion for the program as a whole. We demonstrate promising results on a suite of benchmarks from many different sources including robotic manipulators and medical decision making programs.
引用
收藏
页码:447 / 458
页数:12
相关论文
共 50 条
  • [1] Inferring Effective Types for Static Analysis of C Programs
    Jeannet, Bertrand
    Sotin, Pascal
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2012, 288 : 37 - 47
  • [2] Newtonian Program Analysis of Probabilistic Programs
    Wang, Di
    Reps, Thomas
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (OOPSLA):
  • [3] PMAF: An algebraic framework for static analysis of probabilistic programs
    Wang, Di
    Hoffmann, Jan
    Reps, Thomas
    [J]. ACM SIGPLAN Notices, 2018, 53 (04): : 513 - 528
  • [4] PMAF: An Algebraic Framework for Static Analysis of Probabilistic Programs
    Wang, Di
    Hoffmann, Jan
    Reps, Thomas
    [J]. PROCEEDINGS OF THE 39TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, PLDI 2018, 2018, : 513 - 528
  • [5] PMAF: An Algebraic Framework for Static Analysis of Probabilistic Programs
    Wang, Di
    Hoffmann, Jan
    Reps, Thomas
    [J]. ACM SIGPLAN NOTICES, 2018, 53 (04) : 513 - 528
  • [6] Applying static analysis techniques for inferring termination conditions of logic programs
    Mesnard, F
    Neumerkel, U
    [J]. STATIC ANALYSIS, PROCEEDINGS, 2001, 2126 : 93 - 110
  • [7] Dataflow frequency analysis based on whole program paths
    Scholz, B
    Mehofer, E
    [J]. 2002 INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, PROCEEDINGS, 2002, : 95 - 103
  • [8] Static Probabilistic Timing Analysis for Multi-path Programs
    Lesage, Benjamin
    Griffin, David
    Altmeyer, Sebastian
    Davis, Robert I.
    [J]. 2015 IEEE 36TH REAL-TIME SYSTEMS SYMPOSIUM (RTSS 2015), 2015, : 361 - 372
  • [9] Tailoring Programs for Static Analysis via Program Transformation
    van Tonder, Rijnard
    Le Goues, Claire
    [J]. 2020 ACM/IEEE 42ND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2020), 2020, : 824 - 834
  • [10] Needle : Leveraging Program Analysis to Analyze and Extract Accelerators from Whole Programs
    Kumar, Snehasish
    Sumner, Nick
    Srinivasan, Vijayalakshmi
    Margerm, Steve
    Shriraman, Arrvindh
    [J]. 2017 23RD IEEE INTERNATIONAL SYMPOSIUM ON HIGH PERFORMANCE COMPUTER ARCHITECTURE (HPCA), 2017, : 565 - 576