| | |
Summary: Context- and Path-sensitive Memory Leak Detection
Yichen Xie Alex Aiken
Computer Science Department
Stanford University
Stanford, CA 94305
{yxie,aiken}@cs.stanford.edu
ABSTRACT
We present a context- and path-sensitive algorithm for de-
tecting memory leaks in programs with explicit memory
management. Our leak detection algorithm is based on an
underlying escape analysis: any allocated location in a pro-
cedure P that is not deallocated in P and does not escape
from P is leaked. We achieve very precise context- and path-
sensitivity by expressing our analysis using boolean con-
straints. In experiments with six large open source projects
our analysis produced 510 warnings of which 455 were unique
memory leaks, a false positive rate of only 10.8%. A parallel
implementation improves performance by over an order of
magnitude on large projects; over five million lines of code
in the Linux kernel is analyzed in 50 minutes.
|