DocumentCode :
1936712
Title :
Dynamic Data Structure Analysis for Java Programs
Author :
Pheng, Sokhom ; Verbrugge, Clark
Author_Institution :
Sch. of Comput. Sci., McGill Univ., Montreal, Que.
fYear :
0
fDate :
0-0 0
Firstpage :
191
Lastpage :
201
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 heap-based data structures
Keywords :
Java; data structures; program diagnostics; reverse engineering; storage management; Java program; dynamic data structure analysis; execution trace; garbage collection; heap-based data structure; object-oriented language; program understanding; static analysis; Computer science; Data analysis; Data structures; Data visualization; Debugging; Information analysis; Java; Mirrors; Runtime; Shape;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Program Comprehension, 2006. ICPC 2006. 14th IEEE International Conference on
Conference_Location :
Athens
ISSN :
1092-8138
Print_ISBN :
0-7695-2601-2
Type :
conf
DOI :
10.1109/ICPC.2006.20
Filename :
1631121
Link To Document :
بازگشت