Papers for heap memory analysis and leak detection
csabahruska opened this issue · comments
BEST
AntTracks project
- Utilizing Object Reference Graphs and Garbage Collection Roots to Detect Memory Leaks in Offline Memory Monitoring
- Analyzing Data Structure Growth Over Time to Facilitate Memory Leak Detection
- Analyzing the Evolution of Data Structures in Trace-Based Memory Monitoring
- Memory Leak Analysis using Time-Travel-based and Timeline-based Tree Evolution Visualizations
- Investigating High Memory Churn via Object Lifetime Analysis to Improve Software Performance
GOOD
- Cork: Dynamic Memory Leak Detection for Garbage-Collected Languages
- Detection and Diagnosis of Memory Leaks in Web Applications
LeakSpot: useful tool, similar to AntTracks, maybe higher level? - BLeak: Automatically Debugging Memory Leaks in Web Application
same idea as Java based AntTracks ; good metrics: LeakShare - LeakChecker: Practical Static Memory Leak Detection for Managed Languages
good references for other methods, static analysis based
phd thesis from the author of the LeakChecker paper
Other papers I read:
-
Patterns of Memory Inefficiency
good high level approach for Java -
Xu, G. and Rountev, A., Precise Memory Leak Detection for Java Software Using Container Profiling, 2008
obsolete ; container-base heap tracking ; subsumed by other techniques -
Rayside, D. and Mendel, L., Object Ownership Profiling: A Technique for Finding and Fixing Memory Leaks, 2007
obsolete ; based on dominator trees ; subsumed by other techniques -
Mitchell, N., et al, Making Sense of Large Heaps, 2007
obsolete ; based on dominator trees ; subsumed by other techniques -
Bond, M. D. and McKinley, K. S., Leak Pruning, 2009
irrelevant, improves leaking programs but does not detect leak source -
Diagnosing Memory Leaks using Graph Mining on Heap Dumps
uses dominator tree => insufficient for group owner leaks -
A STATISTICAL APPROACH FOR IDENTIFYING MEMORY LEAKS IN CLOUD APPLICATIONS
http://kodu.ut.ee/~srirama/publications/CLOSER11.pdf -
Statistical approach for memory leak detection in Java applications
http://dspace.ut.ee/bitstream/handle/10062/43817/shor_vladimir.pdf
does not mention trace based heap analysis that includes temporal info also ; method: genCount / GC generation count + statistics + machine learning -
Memory leaks detection in Java by bi-abductive inference
http://www.eecs.qmul.ac.uk/~ddino/papers/FASE2010.pdf
based on static analysis -
Automatic Removal of Array Memory Leaks in Java
https://link.springer.com/content/pdf/10.1007/3-540-46423-9_4.pdf
based on static analysis -
Online Memory Leak Detection in the Cloud-based Infrastructures
https://arxiv.org/pdf/2101.09799.pdf -
LeakSurvivor: Towards Safely Tolerating Memory Leaks for Garbage-Collected Languages
https://www.usenix.org/legacy/events/usenix08/tech/full_papers/tang/tang_html/leaksurvive.html
AntTracks:
- User-centered Offline Analysis of Memory Monitoring Data
https://ssw.jku.at/General/Staff/Weninger/Papers/Weninger_ICPE_17_Preprint.pdf - User-defined Classification and Multi-level Grouping of Objects in Memory Monitoring
https://ssw.jku.at/General/Staff/Weninger/Papers/Weninger_ICPE_18_Preprint.pdf - AntTracks TrendViz: Configurable Heap Memory Visualization Over Time
https://research.spec.org/icpe_proceedings/2019/companion/p29.pdf - many good papers
https://ssw.jku.at/General/Staff/Weninger/ - 2020: Heap Evolution Analysis Using Tree Visualizations.
https://ssw.jku.at/General/Staff/Weninger/Papers/Weninger_SSP_20_TreeViz_Preprint.pdf - 2020: Memory Cities: Visualizing Heap Memory Evolution Using The Software City Metaphor.
https://ssw.jku.at/General/Staff/Weninger/Papers/Weninger_VISSOFT_20_Preprint.pdf
3d charts have bad UX ; subsumed by: 2020: Memory Leak Analysis using Time-Travel-based and Timeline-based Tree Evolution Visualizations - 2019: Memory Leak Visualization using Evolving Software Cities.
https://ssw.jku.at/General/Staff/Weninger/Papers/Weninger_SSP_19_Preprint.pdf - 2020: Analysis Tool: Findings from a Cognitive Walkthrough and a User Study.
https://ssw.jku.at/General/Staff/Weninger/Papers/Weninger_EICS_20_Preprint.pdf
UX survey ; will be useful in a later stage if UI/UX development - 2019: Detection of Suspicious Time Windows in Memory Monitoring.
https://ssw.jku.at/General/Staff/Weninger/Papers/Weninger_MPLR_19_Preprint.pdf
Other:
-
Just-in-time Compiler Assisted Object Reclamation and Space Reuse
https://hal.inria.fr/hal-01054959/document
[escape analysis to reduce memory churn] -
JVM-based Techniques for Improving Java Observability
https://digitalcommons.unl.edu/cgi/viewcontent.cgi?article=1024&context=computerscidiss