Scaling an Object-oriented System Execution Visualizer through Sampling

Andrew Chan, Reid Holmes, Gail C. Murphy and Annie T.T. Ying

UBC-CS Technical Report TR-2002-05

July 26, 2002

[PDF Version]

Abstract

Increasingly, applications are being built by combining existing software components. For the most part, a software developer can treat components as black-boxes. However, for some tasks, such as performance tuning tasks, a developer must consider how the components are implemented and how they interact. In these cases, a developer may be able to perform the task more effectively if dynamic information about how the system executes is available. To deal with the voluminous amount of dynamic information that can be generated, tool support is typically needed. In previous work, we demonstrated the utility of a tool, called \avid~(Architectural VIsualization of Dynamics), that animates dynamic information in terms of developer-chosen architectural views. One limitation of this earlier work was that \avid~relied on detailed---trace-based---information collected about the system's execution, limiting the duration of execution that could be considered. To enable \avid~to scale to larger, longer-running systems, we have been investigating the visualization and animation of sampled dynamic information. In this paper, we discuss the addition of sampling support to \avid, and we present two case studies in which we experimented with animating sampled dynamic information to help with performance tuning tasks on the \eclipse~integrated development environment.

AVID

The AVID tool supports the investigation of large portions of a system's execution from a software architectural view of the system. A developer is able to gain an understanding of how components in the architecture interact over an execution.

Last modified: July 26, 2002

murphy@cs.ubc.ca