Analyzing the Evolution of Data Structures in Trace-Based Memory Monitoring
Sprache des Vortragstitels:
Englisch
Original Tagungtitel:
9th Symposium on Software Performance (SSP 2018)
Sprache des Tagungstitel:
Englisch
Original Kurzfassung:
Modern software systems are becoming increasingly
complex and are thus more prone to performance
degradation due to memory leaks. Memory leaks occur if objects that are not needed anymore are still
unintentionally kept alive. While there exists a variety of state-of-the-art memory monitoring tools, most
of them only use memory snapshots, i.e., heap dumps,
to analyze an application?s live objects at a single
point in time. This does not allow developers to
identify data structures that grow over time. Tracebased monitoring tools tackle this problem by recording memory events, e.g., allocations or object moves
performed by the garbage collector (GC), throughout
an application?s run time. In this paper, we present
ongoing research on the use of memory traces for detecting the root causes of memory leaks introduced
by growing data structures. This encompasses (1) a
domain-specific language (DSL) to describe arbitrary
data structures, (2) an algorithm to detect instances
of previously defined data structures in reconstructed
heaps, as well as (3) techniques to analyze the temporal evolution of these data structure instances to
identify those possibly involved in memory leaks. All
these concepts have been integrated into AntTracks,
a trace-based memory monitoring tool, to prove their
feasibility