Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Analyzing and Visualizing Whole Program Architectures

Conference ·
OSTI ID:909924
This paper describes our work to develop new tool support for analyzing and visualizing the architecture of complete large-scale (millions or more lines of code) programs. Our approach consists of (i) creating a compact, accurate representation of a whole C or C++ program, (ii) analyzing the program in this representation, and (iii) visualizing the analysis results with respect to the program's architecture. We have implemented our approach by extending and combining a compiler infrastructure and a program visualization tool, and we believe our work will be of broad interest to those engaged in a variety of program understanding and transformation tasks. We have added new whole-program analysis support to ROSE [15, 14], a source-to-source C/C++ compiler infrastructure for creating customized analysis and transformation tools. Our whole-program work does not rely on procedure summaries; rather, we preserve all of the information present in the source while keeping our representation compact. In our representation, a million-line application fits in well less than 1 GB of memory. Because whole-program analyses can generate large amounts of data, we believe that abstracting and visualizing analysis results at the architecture level is critical to reducing the cognitive burden on the consumer of the analysis results. Therefore, we have extended Vizz3D [19], an interactive program visualization tool, with an appropriate metaphor and layout algorithm for representing a program's architecture. Our implementation provides developers with an intuitive, interactive way to view analysis results, such as those produced by ROSE, in the context of the program's architecture. The remainder of this paper summarizes our approach to whole-program analysis (Section 2) and provides an example of how we visualize the analysis results (Section 3).
Research Organization:
Lawrence Livermore National Laboratory (LLNL), Livermore, CA
Sponsoring Organization:
USDOE
DOE Contract Number:
W-7405-ENG-48
OSTI ID:
909924
Report Number(s):
UCRL-PROC-231453
Country of Publication:
United States
Language:
English

Similar Records

Tools for Authentication
Conference · Wed Jul 09 00:00:00 EDT 2008 · OSTI ID:945642

An Extensible Open-Source Compiler Infrastructure for Testing
Conference · Thu Dec 08 23:00:00 EST 2005 · OSTI ID:928163

Using Rose and Compass for Authentication
Conference · Thu Jul 09 00:00:00 EDT 2009 · OSTI ID:962808