A Factor Graph Model for Software Bug Finding

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. URL: http://metacomp.stanford.edu/~kremenek/papers/ijcai2007-afg.pdf

Cite

Text

Kremenek et al. "A Factor Graph Model for Software Bug Finding." International Joint Conference on Artificial Intelligence, 2007.

Markdown

[Kremenek et al. "A Factor Graph Model for Software Bug Finding." International Joint Conference on Artificial Intelligence, 2007.](https://mlanthology.org/ijcai/2007/kremenek2007ijcai-factor/)

BibTeX

@inproceedings{kremenek2007ijcai-factor,
  title     = {{A Factor Graph Model for Software Bug Finding}},
  author    = {Kremenek, Ted and Ng, Andrew Y. and Engler, Dawson R.},
  booktitle = {International Joint Conference on Artificial Intelligence},
  year      = {2007},
  pages     = {2510-2516},
  url       = {https://mlanthology.org/ijcai/2007/kremenek2007ijcai-factor/}
}