Title
Visualizing Reference Patterns for Solving Memory Leaks in Java
Abstract
Many Java programmers believe they do not have to worry about memory management because of automatic garbage collection. In fact, many Java programs run out of memory unexpectedly after performing a number of operations. A memory leak in Java is caused when an object that is no longer needed cannot be reclaimed because another object is still referring to it. Memory leaks can be difficult to solve, since the complexity of most programs prevents us from manually verifying the validity of every reference. In this paper we show a new methodology for finding the causes of memory leaks. We have identified a basic memory leak scenario which fits many important cases. In this scenario, we allow the programmer to identify a period of time in which temporary objects are expected to be created and released. Using this information we are able to identify objects that persist beyond this period and the references which are holding on to them. Scaling this methodology to real-world systems brings additional challenges. We propose a novel combination of visual syntax and reference pattern extraction to manage this additional complexity. We also describe how these techniques can be applied to a wider class of memory problems, including the exploration of large data structures. These techniques have been implemented and have been proven successful on large projects.
Year
DOI
Venue
2000
10.1007/3-540-48743-3_6
LECTURE NOTES IN COMPUTER SCIENCE
Keywords
Field
DocType
garbage collection,memory leaks,memory management
Programming language,Computer science,Placement syntax,Manual memory management,Unreachable memory,Memory management,Garbage collection,Memory leak,Java,Memory architecture,Distributed computing
Journal
Volume
Issue
ISSN
1628
14
0302-9743
ISBN
Citations 
PageRank 
3-540-66156-5
57
4.86
References 
Authors
4
2
Name
Order
Citations
PageRank
Wim De Pauw140431.73
Gary Sevitsky262430.19