HeapMD

Identifying heap-based bugs using anomaly detection

Trishul M. Chilimbi, Vinod Ganapathy

Research output: Chapter in Book/Report/Conference proceedingConference contribution

17 Citations (Scopus)

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)
Title of host publicationASPLOS XII
Subtitle of host publicationTwelfth International Conference on Architectural Support for Programming Languages and Operating Systems
Pages219-228
Number of pages10
DOIs
StatePublished - Dec 1 2006
Externally publishedYes

Fingerprint

Dynamic analysis
Detectors

All Science Journal Classification (ASJC) codes

  • Software
  • Information Systems
  • Hardware and Architecture

Cite this

Chilimbi, T. M., & Ganapathy, V. (2006). HeapMD: Identifying heap-based bugs using anomaly detection. In ASPLOS XII: Twelfth International Conference on Architectural Support for Programming Languages and Operating Systems (pp. 219-228) https://doi.org/10.1145/1168857.1168885
Chilimbi, Trishul M. ; Ganapathy, Vinod. / HeapMD : Identifying heap-based bugs using anomaly detection. ASPLOS XII: Twelfth International Conference on Architectural Support for Programming Languages and Operating Systems. 2006. pp. 219-228
@inproceedings{dac087ca65854d318ce9dce7c77b1fa8,
title = "HeapMD: Identifying heap-based bugs using anomaly detection",
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.",
author = "Chilimbi, {Trishul M.} and Vinod Ganapathy",
year = "2006",
month = "12",
day = "1",
doi = "10.1145/1168857.1168885",
language = "English (US)",
isbn = "1595934510",
pages = "219--228",
booktitle = "ASPLOS XII",

}

Chilimbi, TM & Ganapathy, V 2006, HeapMD: Identifying heap-based bugs using anomaly detection. in ASPLOS XII: Twelfth International Conference on Architectural Support for Programming Languages and Operating Systems. pp. 219-228. https://doi.org/10.1145/1168857.1168885

HeapMD : Identifying heap-based bugs using anomaly detection. / Chilimbi, Trishul M.; Ganapathy, Vinod.

ASPLOS XII: Twelfth International Conference on Architectural Support for Programming Languages and Operating Systems. 2006. p. 219-228.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

TY - GEN

T1 - HeapMD

T2 - Identifying heap-based bugs using anomaly detection

AU - Chilimbi, Trishul M.

AU - Ganapathy, Vinod

PY - 2006/12/1

Y1 - 2006/12/1

N2 - 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.

AB - 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.

UR - http://www.scopus.com/inward/record.url?scp=34547417097&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=34547417097&partnerID=8YFLogxK

U2 - 10.1145/1168857.1168885

DO - 10.1145/1168857.1168885

M3 - Conference contribution

SN - 1595934510

SN - 9781595934512

SP - 219

EP - 228

BT - ASPLOS XII

ER -

Chilimbi TM, Ganapathy V. HeapMD: Identifying heap-based bugs using anomaly detection. In ASPLOS XII: Twelfth International Conference on Architectural Support for Programming Languages and Operating Systems. 2006. p. 219-228 https://doi.org/10.1145/1168857.1168885