Auflistung nach Autor:in "Gander, Elias"
1 - 2 von 2
Treffer pro Seite
Sortieroptionen
- KonferenzbeitragAnalyzing the Evolution of Data Structures in Trace-Based Memory Monitoring(Softwaretechnik-Trends Band 39, Heft 3, 2019) Weninger, Markus; Gander, Elias; Mössenböck, HanspeterModern 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.
- KonferenzbeitragInvestigating High Memory Churn via Object Lifetime Analysis to Improve Software Performance(Softwaretechnik-Trends Band 40, Heft 3, 2020) Weninger, Markus; Gander, Elias; Mössenböck, HanspeterHigh memory churn occurs when many temporary objects are created and shortly thereafter collected by the garbage collector. Such excessive dynamic allocations negatively impact an application’s performance because (1) a great number of objects has to be allocated on the heap and (2) an increased number of garbage collections is required to collect them. In this paper, we present ongoing research on how to support developers in detecting, understanding and resolving high memory churn in order to improve their application’s performance. Based on a recorded memory trace, an algorithm automatically searches for memory churn hotspots and calculates the age at which objects die within it, since objects that die young are the major contributors to memory churn. Information about these objects, for example their types and allocation sites, can then be inspected in order to locate the problematic code locations. To demonstrate the feasibility and applicability of our approach, we implemented and present a new memory churn analysis feature in AntTracks, our trace-based memory monitoring tool.