Title
Dynamic Data Structure Analysis for Java Programs
Abstract
Analysis of dynamic data structure usage is useful for both program understanding and for improving the accuracy of other program analyses. Static analysis techniques, however, suffer from reduced accuracy in complex situations, and do not necessarily give a clear picture of runtime heap activity. We have designed and implemented a dynamic heap analysis system that allows one to examine and analyze how Java programs build and modify data structures. Using a complete execution trace from a profiled run of the program, we build an internal representation that mirrors the evolving runtime data structures. The resulting series of representations can then be analyzed and visualized, and we show how to use our approach to help understand how programs use data structures, the precise effect of garbage collection, and to establish limits on static data structure analysis. A deep understanding of dynamic data structures is particularly important for modern, object-oriented languages that make extensive use of heapbased data structures.
Year
DOI
Venue
2006
10.1109/ICPC.2006.20
ICPC
Keywords
Field
DocType
dynamic data structure analysis,static data structure analysis,dynamic heap analysis system,program analysis,dynamic data structure,runtime data structure,heapbased data structure,java programs,dynamic data structure usage,static analysis technique,data structure,java program,object oriented language,static analysis,reverse engineering,java,garbage collection,data structures
Data structure,Programming language,Object-oriented programming,Computer science,Static analysis,Reverse engineering,Heap (data structure),Garbage collection,Java,Dynamic data structures
Conference
ISSN
ISBN
Citations 
1092-8138
0-7695-2601-2
17
PageRank 
References 
Authors
0.89
15
2
Name
Order
Citations
PageRank
Sokhom Pheng1170.89
Clark Verbrugge241139.15