HeapMD: Identifying heap-based bugs using anomaly detection

Trishul M. Chilimbi, Vinod Ganapathy

Research output: Contribution to journalArticlepeer-review

4 Scopus citations

Abstract

We present the design, implementation, and evaluation of HeapMD, a dynamic analysis tool that finds heap-based bugs using anomaly detection. HeapMD is based upon the observation that, in spite of the evolving nature of the heap, several of its properties remain stable. HeapMD uses this observation in a novel way: periodically, during the execution of the program, it computes a suite of metrics which are sensitive to the state of the heap. These metrics track heap behavior, and the stability of the heap reflects quantitatively in the values of these metrics. The "normal" ranges of stable metrics, obtained by running a program on multiple inputs, are then treated as indicators of correct behaviour, and are used in conjunction with an anomaly detector to find heap-based bugs. Using HeapMD, we were able to find 40 heap-based bugs, 31 of them previously unknown, in 5 large, commercial applications.

Original languageEnglish (US)
Pages (from-to)219-228
Number of pages10
JournalACM SIGPLAN Notices
Volume41
Issue number11
StatePublished - Nov 2006
Externally publishedYes

All Science Journal Classification (ASJC) codes

  • Computer Science(all)

Keywords

  • Anomaly detection
  • Bugs
  • Debugging
  • Heap
  • Metrics

Fingerprint Dive into the research topics of 'HeapMD: Identifying heap-based bugs using anomaly detection'. Together they form a unique fingerprint.

Cite this