Proceedings

A Factor Graph Model for Software Bug Finding

Download BibTeX Cite

Proceedings of the Twentieth International Joint Conference on Artificial Intelligence. Pages 2510-2515.

© 2007 International Joint Conferences on Artificial Intelligence

Abstract

Automatic tools for finding software errors require knowledge of the rules a program must obey, or specifications, before they can identify bugs. We present a method that combines factor graphs and static program analysis to automatically infer specifications directly from programs. We illustrate the approach on inferring functions in C programs that allocate and release resources, and evaluate the approach on three codebases: SDL, OpenSSH, and the OS kernel for Mac OS X (XNU). The inferred specifications are highly accurate and with them we have discovered numerous bugs.

  1. [Engler et al., 2000] D.R. Engler, B. Chelf, A. Chou, and S. Hallem. Checking sys- tem rules using system-specific, programmer-written compiler extensions. In OSDI 2000, October 2000.
  2. [Flanagan et al., 2002] C. Flanagan, K.R.M. Leino, M. Lillibridge, G. Nelson, J.B. Saxe, and R. Stata. Extended static checking for Java. In PLDI 2002, pages 234- 245. ACM Press, 2002.
  3. [Heine and Lam, 2003] D. L. Heine and M. S. Lam. A practical flow-sensitive and context-sensitive C and C++ memory leak detector. In PLDI 2003, 2003.
  4. [Hinton, 2000] Geoffrey E. Hinton. Training products of experts by minimizing con- trastive divergence. Technical Report 2000-004, Gatsby Computational Neuro- science Unit, University College London, 2000.
  5. [Kremenek et al., 2006] Ted Kremenek, Paul Twohey, Godmar Back, Andrew Y. Ng, and Dawson Engler. From uncertainty to belief: Inferring the specification within. In "Proceedings of the Seventh Symposium on Operating Systems Design and Im- plemetation", 2006.
  6. [RTI, 2002] RTI. The economic impacts of inadequate infrastructure for software test- ing. Technical report, National Institution of Standards and Technology (NIST), United States Department of Commerce, May 2002.
  7. [Xie and Aiken, 2005] Y. Xie and A. Aiken. Context-and path-sensitive memory leak detection. In FSE 2005, New York, NY, USA, 2005. ACM Press.
  8. [Yedidia et al., 2003] Jonathan S. Yedidia, William T. Freeman, and Yair Weiss. Un- derstanding belief propagation and its generalizations. In Exploring Artificial Intel- ligence in the New Millennium. Morgan Kaufmann Publishers Inc., 2003.
  9. [Zheng et al., 2003] A. X. Zheng, M. I. Jordan, B. Liblit, and A. Aiken. Statistical debugging of sampled programs. In Seventeenth Annual Conference on Neural In- formation Processing Systems, 2003.

References were extracted automatically from the PDF and may contain errors.

Welcome Future Conferences AI Journal Division IJCAI Proceedings About IJCAI IJCAI Awards