document: Diagnosing memory leaks using graph mining on heap dumps 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 .
doc_bio_tags: O B I O B I O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O