Abstracting Runtime Heaps for Program Understanding
Mark Marron, Cesar Sanchez, Zhendong Su, Manuel Fahndrich

TL;DR
This paper introduces a technique for abstracting runtime heaps to aid program understanding, enabling high-level analysis of heap structures and relationships, demonstrated through a memory profiler for detecting memory bloat.
Contribution
The paper presents a novel abstract heap model and algorithms for transforming, merging, and comparing heap data to improve runtime heap analysis and program comprehension.
Findings
Effective abstraction of runtime heaps emphasizing shape and size.
Algorithms for heap transformation and comparison are computationally tractable.
Built a memory profiler that detects and corrects memory bloat in real programs.
Abstract
Modern programming environments provide extensive support for inspecting, analyzing, and testing programs based on the algorithmic structure of a program. Unfortunately, support for inspecting and understanding runtime data structures during execution is typically much more limited. This paper provides a general purpose technique for abstracting and summarizing entire runtime heaps. We describe the abstract heap model and the associated algorithms for transforming a concrete heap dump into the corresponding abstract model as well as algorithms for merging, comparing, and computing changes between abstract models. The abstract model is designed to emphasize high-level concepts about heap-based data structures, such as shape and size, as well as relationships between heap structures, such as sharing and connectivity. We demonstrate the utility and computational tractability of the…
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.
Taxonomy
TopicsSoftware Engineering Research · Software Testing and Debugging Techniques · Advanced Malware Detection Techniques
