kirancodes.me
To Proof Maintenance & Beyond!

Automated memory leak detection for production use

Changhee Jung, Sangho Lee, Easwaran Raman, Santosh Pande

Abstract

This paper presents Sniper, an automated memory leak detection tool for C/C++ production software. To track the staleness of allocated memory (which is a clue to potential leaks) with little overhead (mostly <3%), Sniper leverages instruction sampling using performance monitoring units available in commodity processors. It also offloads the time- and space-consuming analyses, and works on the original software without modifying the underlying memory allocator; it neither perturbs the application execution nor increases the heap size. The Sniper can even deal with multithreaded applications with very low overhead. In particular, it performs a statistical analysis, which views memory leaks as anomalies, for automated and systematic leak determination. Consequently, it accurately detected real-world memory leaks with no false positive, and achieved an F-measure of 81% on average for 17 benchmarks stress-tested with various memory leaks.

BibTeX
@inproceedings{Jung-al:ICSE14,
  author    = {Changhee Jung and
               Sangho Lee and
               Easwaran Raman and
               Santosh Pande},
  title     = {Automated memory leak detection for production use},
  booktitle = {ICSE},
  pages     = {825--836},
  publisher = {{ACM}},
  year      = {2014},
}

Related papers