Information about a software system's execution can help a developer with many tasks, including software testing, performance tuning, and program understanding. In almost all cases, this dynamic information is reported in terms of source-level constructs, such as procedures and methods. For some software engineering tasks, source-level information is not optimal because there is a wide gap between the information presented (i.e., procedures) and the concepts of interest to the software developer (i.e., subsystems). One way to close this gap is to allow developers to investigate the execution informationinterms ofa higher-level, typicallyarchitectural, view. In thispaper, we present an encoding technique for dynamic trace informationthat makes it tractable and efficient to manipulate a trace from a variety of different architecture-level viewpoints. To motivate the need for the encoding technique, we describe two tools that use the technique: a visualization tool and a path query ...
Robert J. Walker, Gail C. Murphy, Jeffrey Steinbok