Despite the built-in garbage collector, Java programs can still suffer the memory leak problem resulted from the unhealthy programming style of retaining unwanted references. This paper presents an aspect-based tool for assisting programmers in locating such references to fix the problem. This tool, FindLeaks, utilizes an aspect to collect memory consumption statistics and object references created during a program's execution and analyzes them for detecting memory leaks. The distinctive feature of FindLeaks is that it reports not only suspected classes of leaking objects but also where in the source the unwanted references were created. Besides, this paper also reports some preliminary experience with FindLeaks.
['Kung Chen', 'Ju-Bing Chen']
Aspect-Based Instrumentation for Locating Memory Leaks in Java Programs