Zur Hauptnavigation wechseln Zur Suche wechseln Zum Hauptinhalt wechseln

Detection and Analysis of Memory Anomalies in Managed Languages Using Trace-Based Memory Monitoring

Publikation: AbschlussarbeitenDissertation

Abstract

Even though modern programming languages such as Java employ automatic garbage collection to free programmers from the error-prone task of manual memory management, anomalies such as memory leaks can still occur. Such anomalies can dramatically impact an application’s performance and can even lead to crashes. Thus, smart tool support is essential to help developers in understanding the memory behavior of complex software systems. Despite this, most state-of-the-art memory monitoring tools rely on rather limited heap dumps, i.e., they inspect the heap only at a few single points in time. While such approaches may reveal obvious issues, they often do not provide enough details to drill down to the root cause of more complex problems. To tackle this limitation, we propose the use of memory traces, i.e., continuous recordings of memory events such as object allocations or garbage collection operations. Such memory traces enable us to reconstruct detailed information about the monitored application’s memory evolution over time. Existing works mainly focus on the (efficient) collection of informationrich memory traces and mostly collect traces for very specific use cases. They often miss discussions of the “big picture”, i.e., the flexibility of memory traces and how they can be used for various kinds of memory analyses. This thesis revolves around the question how general-purpose memory traces can be processed and leveraged in memory monitoring tools to improve the (semi-automatic) detection and analysis of memory anomalies. It covers data structures and algorithms for memory trace processing, novel anomaly analysis approaches such as automatic data structure growth analysis, as well as interactive visualization techniques. Furthermore, the thesis investigates how (novice) users approach the task of memory analysis and how memory monitoring tools can be improved to better support and guide these users. All ideas presented in this thesis have been implemented in the memory analysis tool AntTracks to showcase their feasibly and applicability.
OriginalspracheEnglisch
Betreuung / Begutachtung
  • Mössenböck, Hanspeter, Betreuer*in
Verlag
PublikationsstatusVeröffentlicht - 2021

Wissenschaftszweige

  • 102 Informatik
  • 102009 Computersimulation
  • 102011 Formale Sprachen
  • 102013 Human-Computer Interaction
  • 102022 Softwareentwicklung
  • 102024 Usability Research
  • 102029 Praktische Informatik

JKU-Schwerpunkte

  • Digital Transformation

Dieses zitieren