skip to main content
10.1145/2491956.2462179acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
research-article

Static analysis for probabilistic programs: inferring whole program properties from finitely many paths

Published: 16 June 2013 Publication History

Abstract

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.

References

[1]
C. C. Aggarwal and P. S. Yu. A survey of uncertain data algorithms and applications. IEEE Transactions on Knowledge and Data Engineering (TKDE), 21 (5), May 2009.
[2]
S. Arora and B. Barak. phComputational Complexity: A Modern Approach. Cambridge University Press, 2009.
[3]
O. Bouissou, E. Goubault, J. Goubault-Larrecq, and S. Putot. A generalization of p-boxes to affine arithmetic. Computing, 2012.
[4]
S. Chaudhuri and A. Solar-Lezama. Smoothing a program soundly and robustly. In CAV, volume 6806 of LNCS, pages 277--292. Springer, 2011.
[5]
E. Clarke, A. Donze, and A. Legay. Statistical model checking of analog mixed-signal circuits with an application to a third order δ-σ modulator. In Hardware and Software: Verification and Testing, volume 5394/2009 of LNCS, pages 149--163, 2009.
[6]
P. Cousot and M. Monerau. Probabilistic abstract interpretation. In ESOP, volume 7211 of LNCS, pages 169--193. Springer, 2012.
[7]
L. H. de Figueiredo and J. Stolfi. Self-validated numerical methods and applications. In Brazilian Mathematics Colloquium monograph. IMPA, Rio de Janeiro, Brazil, 1997. Cf. http://www.ic.unicamp.br/ stolfi/EXPORT/papers/by-tag/fig-sto-97-iaaa.ps.gz.
[8]
J. De Loera, B. Dutra, M. Koeppe, S. Moreinis, G. Pinto, and J. Wu. Software for Exact Integration of Polynomials over Polyhedra. ArXiv e-prints, July 2011.
[9]
A. Dempster. A generalization of bayesian inference. Journal of the Royal Statistical Society, 30: 205--247, 1968.
[10]
C. Dwork. Differential privacy: A survey of results. In TAMC, volume 4978 of LNCS, pages 1--19. Springer, 2008.
[11]
A. Filieri, C. S. Păsăreanu, and W. Visser. Reliability analysis in symbolic pathfinder. In Intl. Conference on Software Engg. (ICSE), 2013. (To Appear, May 2013).
[12]
D. Frenkel and B. Smit. Understanding Molecular Simulation: From Algorithms to Applications. Academic Press, 2002.
[13]
J. Geldenhuys, M. B. Dwyer, and W. Visser. Probabilistic symbolic execution. In ISSTA, pages 166--176. ACM, 2012.
[14]
N. D. Goodman, V. K. Mansinghka, D. M. Roy, K. Bonawitz, and J. B. Tenenbaum. Church: a language for generative models. In Uncertainty in Artificial Intelligence, pages 220--229, 2008.
[15]
L. Granvilliers and F. Benhamou. Algorithm 852: Realpaver: an interval solver using constraint satisfaction techniques. ACM Trans. On Mathematical Software, 32 (1): 138--156, 2006.
[16]
H. Hermanns, B. Wachter, and L. Zhang. Probabilistic CEGAR. In CAV, volume 5123 of LNCS, pages 162--175. Springer, 2008.
[17]
S. K. Jha, E. M. Clarke, C. J. Langmead, A. Legay, A. Platzer, and P. Zuliani. A bayesian approach to model checking biological systems. In CMSB, volume 5688 of Lecture Notes in Computer Science, pages 218--234. Springer, 2009.
[18]
R. Jhala and R. Majumdar. Path slicing. In PLDI'05, pages 38--47. ACM, 2005.
[19]
C. Jones, G. McQuillan, and et al. Serum creatinine levels in the US population: Third national health and nutrition examination survey. Am. J. Kidney Disease, 32 (6): 992--999, 1998.
[20]
J.-P. Katoen, A. McIver, L. Meinicke, and C. Morgan. Linear-invariant generation for probabilistic programs. In Static Analysis Symposium (SAS), volume 6337 of LNCS, page 390--406. Springer, 2010.
[21]
D. Kozen. Semantics of probabilistic programs. J. Computer and System Sciences, 22: 328--350, 1981.
[22]
M. Kwiatkowska, G. Norman, and D. Parker. A framework for verification of software with time and probabilities. In FORMATS, volume 6246 of LNCS, pages 25--45. Springer, 2010.
[23]
M. Kwiatkowska, G. Norman, and D. Parker. PRISM 4.0: Verification of probabilistic real-time systems. In phCAV, volume 6806 of LNCS, pages 585--591. Springer, 2011.
[24]
Kwiatkowska et al. The PRISM model checker. http://www.prismmodelchecker.org.
[25]
P. Mardziel, S. Magill, M. Hicks, and M. Srivatsa. Dynamic enforcement of knowledge-based security policies. In Computer Security Foundations Symposium (CSF), pages 114--128, JUN 2011.
[26]
A. McIver and C. Morgan. Abstraction, Refinement and Proof for Probabilistic Systems. Monographs in Computer Science. Springer, 2004.
[27]
S. Misailovic, D. M. Roy, and M. C. Rinard. Probabilistically accurate program transformations. In Static Analysis Symposium, volume 6887 of LNCS, pages 316--333. Springer, 2011.
[28]
D. Monniaux. An abstract monte-carlo method for the analysis of probabilistic programs. In POPL, pages 93--101. ACM, 2001.
[29]
D. Monniaux. Abstract interpretation of programs as markov decision processes. Sci. Comput. Program., 58 (1--2): 179--205, 2005.
[30]
R. Motwani and P. Raghavan. Randomized Algorithms. Cambridge University Press, 1995.
[31]
A. Pfeffer. IBAL: a probabilistic rational programming language. In In Proc. 17th IJCAI, pages 733--740. Morgan Kaufmann Publishers, 2001.
[32]
A. D. Pierro, C. Hankin, and H. Wiklicky. Probabilistic λ-calculus and quantitative program analysis. J. Logic and Computation, 15 (2): 159--179, 2005.
[33]
A. Radul. Report on the probabilistic language scheme. In DLS, pages 2--10. ACM, 2007.
[34]
R. Y. Rubinstein and D. P. Kroese. Simulation and the Monte Carlo Method. Wiley Series in Probability and Mathematical Statistics, 2008.
[35]
G. Shafer. A Mathematical Theory of Evidence. Princeton University Press, 1976.
[36]
W. Visser, J. Geldenhuys, and M. B. Dwyer. Green: reducing, reusing and recycling constraints in program analysis. In SIGSOFT FSE, page 58. ACM, 2012.
[37]
H. L. S. Younes and R. G. Simmons. Statistical probabilitistic model checking with a focus on time-bounded properties. Information & Computation, 204 (9): 1368--1409, 2006.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PLDI '13: Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation
June 2013
546 pages
ISBN:9781450320146
DOI:10.1145/2491956
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 48, Issue 6
    PLDI '13
    June 2013
    515 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/2499370
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 June 2013

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. monte-carlo sampling
  2. probabilistic programming
  3. program verification
  4. symbolic execution
  5. volume bounding

Qualifiers

  • Research-article

Conference

PLDI '13
Sponsor:

Acceptance Rates

PLDI '13 Paper Acceptance Rate 46 of 267 submissions, 17%;
Overall Acceptance Rate 406 of 2,067 submissions, 20%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)115
  • Downloads (Last 6 weeks)5
Reflects downloads up to 17 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media