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.
- 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. Google Scholar
Digital Library
- S. Arora and B. Barak. phComputational Complexity: A Modern Approach. Cambridge University Press, 2009. Google Scholar
Digital Library
- O. Bouissou, E. Goubault, J. Goubault-Larrecq, and S. Putot. A generalization of p-boxes to affine arithmetic. Computing, 2012. Google Scholar
Digital Library
- S. Chaudhuri and A. Solar-Lezama. Smoothing a program soundly and robustly. In CAV, volume 6806 of LNCS, pages 277--292. Springer, 2011. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- P. Cousot and M. Monerau. Probabilistic abstract interpretation. In ESOP, volume 7211 of LNCS, pages 169--193. Springer, 2012. Google Scholar
Digital Library
- 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.Google Scholar
- 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.Google Scholar
- A. Dempster. A generalization of bayesian inference. Journal of the Royal Statistical Society, 30: 205--247, 1968.Google Scholar
- C. Dwork. Differential privacy: A survey of results. In TAMC, volume 4978 of LNCS, pages 1--19. Springer, 2008. Google Scholar
Digital Library
- 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). Google Scholar
Digital Library
- D. Frenkel and B. Smit. Understanding Molecular Simulation: From Algorithms to Applications. Academic Press, 2002. Google Scholar
Digital Library
- J. Geldenhuys, M. B. Dwyer, and W. Visser. Probabilistic symbolic execution. In ISSTA, pages 166--176. ACM, 2012. Google Scholar
Digital Library
- 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.Google Scholar
- 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. Google Scholar
Digital Library
- H. Hermanns, B. Wachter, and L. Zhang. Probabilistic CEGAR. In CAV, volume 5123 of LNCS, pages 162--175. Springer, 2008. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- R. Jhala and R. Majumdar. Path slicing. In PLDI'05, pages 38--47. ACM, 2005. Google Scholar
Digital Library
- 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.Google Scholar
Cross Ref
- 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. Google Scholar
Digital Library
- D. Kozen. Semantics of probabilistic programs. J. Computer and System Sciences, 22: 328--350, 1981.Google Scholar
Cross Ref
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- Kwiatkowska et al. The PRISM model checker. http://www.prismmodelchecker.org.Google Scholar
- 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. Google Scholar
Digital Library
- A. McIver and C. Morgan. Abstraction, Refinement and Proof for Probabilistic Systems. Monographs in Computer Science. Springer, 2004. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- D. Monniaux. An abstract monte-carlo method for the analysis of probabilistic programs. In POPL, pages 93--101. ACM, 2001. Google Scholar
Digital Library
- D. Monniaux. Abstract interpretation of programs as markov decision processes. Sci. Comput. Program., 58 (1--2): 179--205, 2005. Google Scholar
Digital Library
- R. Motwani and P. Raghavan. Randomized Algorithms. Cambridge University Press, 1995. Google Scholar
Digital Library
- A. Pfeffer. IBAL: a probabilistic rational programming language. In In Proc. 17th IJCAI, pages 733--740. Morgan Kaufmann Publishers, 2001. Google Scholar
Digital Library
- A. D. Pierro, C. Hankin, and H. Wiklicky. Probabilistic λ-calculus and quantitative program analysis. J. Logic and Computation, 15 (2): 159--179, 2005. Google Scholar
Digital Library
- A. Radul. Report on the probabilistic language scheme. In DLS, pages 2--10. ACM, 2007. Google Scholar
Digital Library
- R. Y. Rubinstein and D. P. Kroese. Simulation and the Monte Carlo Method. Wiley Series in Probability and Mathematical Statistics, 2008. Google Scholar
Digital Library
- G. Shafer. A Mathematical Theory of Evidence. Princeton University Press, 1976.Google Scholar
- W. Visser, J. Geldenhuys, and M. B. Dwyer. Green: reducing, reusing and recycling constraints in program analysis. In SIGSOFT FSE, page 58. ACM, 2012. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
Index Terms
Static analysis for probabilistic programs: inferring whole program properties from finitely many paths
Recommendations
Static analysis for probabilistic programs: inferring whole program properties from finitely many paths
PLDI '13: Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and ImplementationWe 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 ...
PMAF: an algebraic framework for static analysis of probabilistic programs
PLDI '18Automatically establishing that a probabilistic program satisfies some property ϕ is a challenging problem. While a sampling-based approach—which involves running the program repeatedly—can suggest that ϕ holds, to establish that the program satisfies ϕ,...
PMAF: an algebraic framework for static analysis of probabilistic programs
PLDI 2018: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and ImplementationAutomatically establishing that a probabilistic program satisfies some property ϕ is a challenging problem. While a sampling-based approach—which involves running the program repeatedly—can suggest that ϕ holds, to establish that the program satisfies ϕ,...







Comments