An invention is disclosed for analyzing memory leaks occurring in Java
Virtual Machine (JVM) data storage, consisting of a dynamically
modifiable JVM "profiler" and an "object tracker" tool for analyzing the
output from the profiler. Specifically, a method and system is disclosed
for programming a JVM profiler used to analyze and correct memory leaks
in stored data heaps, consisting of a program segment (or "stub")
initialized by the JVM application program interface to determine the
parameters to be passed to the main profiler memory leak analysis program
logic, which is then initialized by the stub to examine a minimal number
of "heap dumps" in order to identify data elements or objects for the
existence and/or correction of memory leaks. Updated information on data
elements or objects can be requested from the profiler as needed by use
of the object movement tracking option to record the details of
subsequent changes in data memory storage status once a heap dump has
been obtained.