skip to main content
research-article

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

Published:16 June 2013Publication History
Skip Abstract Section

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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. S. Arora and B. Barak. phComputational Complexity: A Modern Approach. Cambridge University Press, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. O. Bouissou, E. Goubault, J. Goubault-Larrecq, and S. Putot. A generalization of p-boxes to affine arithmetic. Computing, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. S. Chaudhuri and A. Solar-Lezama. Smoothing a program soundly and robustly. In CAV, volume 6806 of LNCS, pages 277--292. Springer, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. P. Cousot and M. Monerau. Probabilistic abstract interpretation. In ESOP, volume 7211 of LNCS, pages 169--193. Springer, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  9. A. Dempster. A generalization of bayesian inference. Journal of the Royal Statistical Society, 30: 205--247, 1968.Google ScholarGoogle Scholar
  10. C. Dwork. Differential privacy: A survey of results. In TAMC, volume 4978 of LNCS, pages 1--19. Springer, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. D. Frenkel and B. Smit. Understanding Molecular Simulation: From Algorithms to Applications. Academic Press, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. J. Geldenhuys, M. B. Dwyer, and W. Visser. Probabilistic symbolic execution. In ISSTA, pages 166--176. ACM, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. H. Hermanns, B. Wachter, and L. Zhang. Probabilistic CEGAR. In CAV, volume 5123 of LNCS, pages 162--175. Springer, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. R. Jhala and R. Majumdar. Path slicing. In PLDI'05, pages 38--47. ACM, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. D. Kozen. Semantics of probabilistic programs. J. Computer and System Sciences, 22: 328--350, 1981.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Kwiatkowska et al. The PRISM model checker. http://www.prismmodelchecker.org.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. A. McIver and C. Morgan. Abstraction, Refinement and Proof for Probabilistic Systems. Monographs in Computer Science. Springer, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. D. Monniaux. An abstract monte-carlo method for the analysis of probabilistic programs. In POPL, pages 93--101. ACM, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. D. Monniaux. Abstract interpretation of programs as markov decision processes. Sci. Comput. Program., 58 (1--2): 179--205, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. R. Motwani and P. Raghavan. Randomized Algorithms. Cambridge University Press, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. A. Pfeffer. IBAL: a probabilistic rational programming language. In In Proc. 17th IJCAI, pages 733--740. Morgan Kaufmann Publishers, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. A. D. Pierro, C. Hankin, and H. Wiklicky. Probabilistic λ-calculus and quantitative program analysis. J. Logic and Computation, 15 (2): 159--179, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. A. Radul. Report on the probabilistic language scheme. In DLS, pages 2--10. ACM, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. R. Y. Rubinstein and D. P. Kroese. Simulation and the Monte Carlo Method. Wiley Series in Probability and Mathematical Statistics, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. G. Shafer. A Mathematical Theory of Evidence. Princeton University Press, 1976.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

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

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!