Diagnosing memory leaks using graph mining on heap dumps
Proceedings of the 16th ACM SIGKDD international conference on Knowledge …, 2010•dl.acm.org
Memory leaks are caused by software programs that prevent the reclamation of memory that
is no longer in use. They can cause significant slowdowns, exhaustion of available storage
space and, eventually, application crashes. Detecting memory leaks is challenging because
real-world applications are built on multiple layers of software frameworks, making it difficult
for a developer to know whether observed references to objects are legitimate or the cause
of a leak. We present a graph mining solution to this problem wherein we analyze heap …
is no longer in use. They can cause significant slowdowns, exhaustion of available storage
space and, eventually, application crashes. Detecting memory leaks is challenging because
real-world applications are built on multiple layers of software frameworks, making it difficult
for a developer to know whether observed references to objects are legitimate or the cause
of a leak. We present a graph mining solution to this problem wherein we analyze heap …
Memory leaks are caused by software programs that prevent the reclamation of memory that is no longer in use. They can cause significant slowdowns, exhaustion of available storage space and, eventually, application crashes. Detecting memory leaks is challenging because real-world applications are built on multiple layers of software frameworks, making it difficult for a developer to know whether observed references to objects are legitimate or the cause of a leak. We present a graph mining solution to this problem wherein we analyze heap dumps to automatically identify subgraphs which could represent potential memory leak sources. Although heap dumps are commonly analyzed in existing heap profiling tools, our work is the first to apply a graph grammar mining solution to this problem. Unlike classical graph mining work, we show that it suffices to mine the dominator tree of the heap dump, which is significantly smaller than the underlying graph. Our approach identifies not just leaking candidates and their structure, but also provides aggregate information about the access path to the leaks. We demonstrate several synthetic as well as real-world examples of heap dumps for which our approach provides more insight into the problem than state-of-the-art tools such as Eclipse's MAT.
ACM Digital Library
Showing the best result for this search. See all results