arrow
Return

Abstracting Runtime Heaps for Program Understanding

delete2013-06-01
delete15
delete
OA
AI
M
Mark Marron *
C
César Sánchez
Z
Zhendong Su
M
Manuel Fähndrich
DOI:10.1109/TSE.2012.69delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
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 abstract heap model by building a memory profiler. We use this tool to identify, pinpoint, and correct sources of memory bloat for programs from DaCapo.
Keywords:
Heap structure
runtime analysis
memory profiling
program understanding
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

IEEE Transactions on Software Engineering cover
IEEE Transactions on Software Engineering
IF:
5.6
Papers:
2.8K
Citations:
1.1W

Organization

I
imdea software institute
Scholars:
63
Papers: 45
Citations: 0
U
university of california davis
Scholars:
3.4W
Papers: 2.6W
Citations: 45
University of California System cover
University of California System
Scholars:
37.5W
Papers: 33.7W
Citations: 6.6K
researcher View more organizations