Heap Reference Analysis Using Access Graphs
Uday Khedker, Amitabha Sanyal, and Amey Karkare

TL;DR
This paper introduces access graphs for summarizing heap data properties, enabling static analysis of heap references, which improves garbage collection and memory leak detection by accurately identifying live and unreachable objects.
Contribution
It presents the first end-to-end static analysis for heap reference properties using access graphs, covering liveness, aliasing, availability, and anticipability.
Findings
Access graphs effectively summarize heap data properties.
The analysis distinguishes live objects from reachable objects.
Application to garbage collection and memory leak detection improves efficiency.
Abstract
Despite significant progress in the theory and practice of program analysis, analysing properties of heap data has not reached the same level of maturity as the analysis of static and stack data. The spatial and temporal structure of stack and static data is well understood while that of heap data seems arbitrary and is unbounded. We devise bounded representations which summarize properties of the heap data. This summarization is based on the structure of the program which manipulates the heap. The resulting summary representations are certain kinds of graphs called access graphs. The boundedness of these representations and the monotonicity of the operations to manipulate them make it possible to compute them through data flow analysis. An important application which benefits from heap reference analysis is garbage collection, where currently liveness is conservatively approximated…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
