Abstract
Memory leaks occur when no longer needed objects are unnecessarily kept alive. They can have a significant negative performance impact, leading to a crash in the worst case. Thus, tool support for heap evolution analysis, especially memory leak analysis, is essential. Unfortunately, most memory analysis tools lack advanced visualizations to facilitate this task. In this paper, we present an approach to use well-known tree visualization techniques for memory growth visualization. Our approach groups heap objects into memory trees based on a user-defined set of properties such as their types or their allocation sites at multiple points in time. We present two novel approaches to inspect how these trees evolve over time: In our time-travelbased visualization, a single space-filling tree visualization shows the monitored application's heap memory at a given point in time. Users can step back and forth in time, causing the visualization to update itself. In our timeline-based visualization, a time-series chart depicts the overall memory consumption over time. Above this chart, multiple memory tree visualizations are shown side-by-side for a number of user-selected points in time. Using these techniques to visually inspect the evolution of the heap over time should enable users to gain new insights and to detect (problematic) memory trends in their applications. To demonstrate the feasibility and applicability of the presented approach, we integrated it into AntTracks, a trace-based memory monitoring tool and applied it in two memory leak case studies.
Original language | English |
---|---|
Title of host publication | Smart Tools and Apps for Graphics - Eurographics Italian Chapter Conference |
Publisher | The Eurographics Association |
Number of pages | 13 |
ISBN (Print) | 978-3-03868-124-3 |
DOIs | |
Publication status | Published - Nov 2020 |
Fields of science
- 102 Computer Sciences
- 102009 Computer simulation
- 102011 Formal languages
- 102013 Human-computer interaction
- 102022 Software development
- 102024 Usability research
- 102029 Practical computer science
JKU Focus areas
- Digital Transformation