skip to main content
10.1145/2491411.2491423acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

Bayesian inference using data flow analysis

Published:18 August 2013Publication History

ABSTRACT

We present a new algorithm for Bayesian inference over probabilistic programs, based on data flow analysis techniques from the program analysis community. Unlike existing techniques for Bayesian inference on probabilistic programs, our data flow analysis algorithm is able to perform inference directly on probabilistic programs with loops. Even for loop-free programs, we show that data flow analysis offers better precision and better performance benefits over existing techniques. We also describe heuristics that are crucial for our inference to scale, and present an empirical evaluation of our algorithm over a range of benchmarks.

References

  1. R. I. Bahar, E. A. Frohm, C. M. Gaona, G. D. Hachtel, E. Macii, A. Pardo, and F. Somenzi. Algebraic decision diagrams and their applications. Formal Methods in System Design, 10(2/3):171–206, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. G. Barthe, B. Grégoire, and S. Zanella Béguelin. Formal certification of code-based cryptographic proofs. In Principles of Programming Languages (POPL), pages 90–101, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. J. Borgström, A. D. Gordon, M. Greenberg, J. Margetson, and J. Van Gael. Measure transformer semantics for Bayesian machine learning. In European Symposium on Programming (ESOP), pages 77–96, 2011. Extended version available as Technical Report MSR–TR–2011–18. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. Bozga and O. Maler. On the representation of probabilities over structured domains. In Computer Aided Verification (CAV), pages 261–273, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. R. E. Bryant. Symbolic boolean manipulation with ordered binary-decision diagrams. ACM Computing Surveys, 24(3):293–318, September 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. A. T. Chaganty, A. V. Nori, and S. K. Rajamani. Efficiently sampling probabilistic programs via program analysis. In Artificial Intelligence and Statistics (AISTATS), 2013.Google ScholarGoogle Scholar
  7. M. Chavira and A. Darwiche. Compiling bayesian networks using variable elimination. In International Joint Conference on on Artificial Intelligence (IJCAI), pages 2443–2449, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. G. Claret, S. K. Rajamani, A. V. Nori, A. D. Gordon, and J. Borgström. Bayesian inference for probabilistic programs via symbolic execution. Technical Report MSR-TR-2012-86, Microsoft Research, 2012.Google ScholarGoogle Scholar
  9. P. Cousot and R. Cousot. Abstract interpretation: a unified lattice model for the static analysis of programs by construction or approximation of fixpoints. In Principles of Programming Languages (POPL), pages 238–252, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. T. M. Cover and J. A. Thomas. Elements of Information Theory (Wiley Series in Telecommunications and Signal Processing). Wiley-Interscience, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. A. Darwiche. SamIam. Software available from http://reasoning.cs.ucla.edu/samiam.Google ScholarGoogle Scholar
  12. J. Geldenhuys, W. Visser, and M. B. Dwyer. Probabilistic symbolic execution. In International Symposium on Software Testing and Analysis (ISSTA), pages 166–176, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. W. R. Gilks, A. Thomas, and D. J. Spiegelhalter. A language and program for complex Bayesian modelling. The Statistician, 43(1):169–177, 1994.Google ScholarGoogle ScholarCross RefCross Ref
  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 (UAI), pages 220–229, 2008.Google ScholarGoogle Scholar
  15. A. D. Gordon, M. Aizatulin, J. Borgström, G. Claret, T. Graepel, A. V. Nori, S. K. Rajamani, and C. Russo. A model-learner pattern for Bayesian reasoning. In Principles of Programming Languages (POPL), pages 403–416, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. R. Herbrich, T. Minka, and T. Graepel. TrueSkill(TM): A Bayesian skill rating system. In Advances in Neural Information Processing Systems (NIPS), pages 569–576, 2007.Google ScholarGoogle Scholar
  17. J.-P. Katoen, A. McIver, L. Meinicke, and C. C. Morgan. Linear-invariant generation for probabilistic programs: - automated support for proof-based methods. In Static Analysis Symposium (SAS), pages 390–406, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. G. A. Kildall. A unified approach to global program optimization. In Principles of Programming Languages (POPL), pages 194–206, 1973. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. S. Kok, M. Sumner, M. Richardson, P. Singla, H. Poon, D. Lowd, and P. Domingos. The Alchemy system for statistical relational AI. Technical report, University of Washington, 2007. http://alchemy.cs.washington.edu.Google ScholarGoogle Scholar
  20. D. Koller and N. Friedman. Probabilistic Graphical Models: Principles and Techniques. MIT Press, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. D. Koller, D. A. McAllester, and A. Pfeffer. Effective Bayesian inference for stochastic programs. In National Conference on Artificial Intelligence (AAAI), pages 740–747, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. D. Kozen. Semantics of probabilistic programs. Journal of Computer and System Sciences (JCSS), 22(3):328–350, 1981.Google ScholarGoogle Scholar
  23. M. Z. Kwiatkowska, G. Norman, and D. Parker. Probabilistic symbolic model checking with prism: a hybrid approach. International Journal on Software Tools for Technology Transfer (STTT), 6(2):128–142, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. S. Malik, A. R. Wang, R. K. Brayton, and A. S. Vincentelli. Logic verification using binary decision diagrams in a logic synthesis environment. In International Conference on Computer-Aided Design (ICCAD), pages 6–9, 1988.Google ScholarGoogle ScholarCross RefCross Ref
  25. P. Mardziel, S. Magill, M. Hicks, and M. Srivatsa. Dynamic enforcement of knowledge-based security policies using probabilistic abstract interpretation. Journal of Computer Security, January 2013.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. T. Minka, J. Winn, J. Guiver, and A. Kannan. Infer.NET 2.3, Nov. 2009. Software available from http://research.microsoft.com/infernet.Google ScholarGoogle Scholar
  27. J. Pearl. Probabilistic reasoning in intelligent systems – networks of plausible inference. I-XIX. Morgan Kaufmann, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. A. Pfeffer. Statistical Relational Learning, chapter The design and implementation of IBAL: A General-Purpose Probabilistic Language. MIT Press, 2007.Google ScholarGoogle Scholar
  29. G. Ramalingam. Data flow frequency analysis. In Programming Languages Design and Implementation (PLDI), pages 267–277, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. S. Sankaranarayanan, A. Chakarov, and S. Gulwani. Static analysis of probabilistic programs: Inferring whole program properties from finitely many executions. In Programming Languages Design and Implementation (PLDI), 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. S. Sanner and D. A. McAllester. Affine Algebraic Decision Diagrams (AADDs) and their application to structured probabilistic inference. In International Joint Conference on on Artificial Intelligence (IJCAI), pages 1384–1390, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. F. Somenzi. CUDD: CU decision diagram package, release 2.5.0. Software available from http://vlsi.colorado.edu.Google ScholarGoogle Scholar

Index Terms

  1. Bayesian inference using data flow analysis

            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
            • Published in

              cover image ACM Conferences
              ESEC/FSE 2013: Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
              August 2013
              738 pages
              ISBN:9781450322379
              DOI:10.1145/2491411

              Copyright © 2013 ACM

              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]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 18 August 2013

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article

              Acceptance Rates

              Overall Acceptance Rate112of543submissions,21%

              Upcoming Conference

              FSE '24

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader