Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/1034914.1034918dlproceedingsArticle/Chapter ViewAbstractPublication PagescasconConference Proceedingsconference-collections
Article

A survey of trace exploration tools and techniques

Published: 04 October 2004 Publication History

Abstract

The analysis of large execution traces is almost impossible without efficient tool support. Lately, there has been an increase in the number of tools for analyzing traces generated from object-oriented systems. This interest has been driven by the fact that polymorphism and dynamic binding pose serious limitations to static analysis. However, most of the techniques supported by existing tools are found in the context of very specific visualization schemes, which makes them hard to reuse. It is also very common to have two different tools implement the same techniques using different terminology. This appears to result from the absence of a common framework for trace analysis approaches. This paper presents the state of the art in the area of trace analysis. We do this by analyzing the techniques that are supported by eight trace exploration tools. We also discuss their advantages and limitations and how they can be improved.

References

[1]
{1} T. Ball. The Concept of Dynamic Analysis. In Proc. of the 7th European Software Engineering Conference held jointly with the 7th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pages 216-234, Toulouse, France, 1999
[2]
{2} A. Chan, R. Holmes, G. C. Murphy, A. T. Ying. Scaling an Object-Oriented System Execution Visualizer through Sampling. In Proc. of the 11th International Workshop on Program Comprehension, pages 237-244, Portland, Oregon, USA, 2003
[3]
{3} W. De Pauw, E. Jensen, N. Mitchell, G. Sevitsky, J. Vlissides, J. Yang, Visualizing the Execution of Java Programs. In Proc. International Seminar on Software Visualization, pages 151-162, Dagstuhl Castle, Wadern, 2002
[4]
{4} W. De Pauw, R. Helm, D. Kimelman, J. Vlissides. Visualizing the Behaviour of Object-Oriented Systems. In Proc. of the 8th Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), pages 326-337, Washington, DC, 1993
[5]
{5} W. De Pauw, D. Kimelman, J. Vlissides. Modelling Object-Oriented Program Execution. In Proc. of the 8th European Conference on Object-Oriented Programming (ECOOP), pages 163-182, Bologna, Lecture Notes in Computer Science 821, Berlin, 1994
[6]
{6} W. De Pauw, D. Lorenz, J. Vlissides, M. Wegman. Execution Patterns in Object-Oriented Visualization. In Proc. of the 4th USENIX Conference on Object-Oriented Technologies and Systems (COOTS), pages 219-234, Santa Fe, NM, 1998
[7]
{7} J. P. Downey, R. Sethi, R. E. Tarjan. Variations on the Common Subexpression Problem. Journal of the ACM. 27(4), pages 758-771, 1980
[8]
{8} T. Eisenbarth, R. Koschke, D. Simon. Feature-Driven Program Understanding Using Concept Analysis of Execution Traces. In Proc. of the 9th International Workshop on Program Comprehension, pages 300-309, Toronto, Ontario, Canada, 2001
[9]
{9} A. Hamou-Lhadj, T. Lethbridge. Compression Techniques to Simplify the Analysis of Large Execution Traces. In Proc. of the 10th International Workshop on Program Comprehension (IWPC), pages 159-168, Paris, France, 2002
[10]
{10} A. Hamou-Lhadj, and T. Lethbridge. A Metamodel for Dynamic Information Generated from Object-Oriented Systems. 1st International Workshop on Meta-models and Schemas for Reverse Engineering (ATEM), ENTCS, pages 59-69, Victoria, Canada, 2003
[11]
{11} D. Jerding, S. Rugaber. Using Visualisation for Architecture Localization and Extraction. In Proc. Of the 4th Working Conference on Reverse Engineering, pages 56-65, Amsterdam, Netherlands, 1997
[12]
{12} D. Jerding, J. Stasko, T. Ball. Visualising Ineractions in Program Executions. In Proc. of 19th the International Conference on Software Engineering, pages 360-370, Boston, USA, 1997
[13]
{13} K. Koskimies, H. Mössenböck. Scenario-based browsing of object-oriented systems with Scene. Report 4, Department of System Software, University of Linz, August 1995.
[14]
{14} K. Koskimies, H. Mössenböck. Scene: Using Scenario Diagrams and Active Text for Illustrating Object-Oriented Programs. In Proc. of the 18th International Conference on Software Engineering (ICSE), pages 366-375, Berlin, Germany, 1996
[15]
{15} K. Koskimies, T. Männistö, T. Systä, J. Tuomi. SCED: A Tool for Dynamic Modeling of Object Systems. University of Tampere, Dept. of Computer Science, Report A-1996- 4, 199
[16]
{16} D. B. Lange, Y. Nakamura. Object-Oriented Program Tracing and Visualization. IEEE Computer, 30(5), pages 63-70, 1997
[17]
{17} H. A. Müller, K. Klashinsky. Rigi - A System for Programming In-the-Large. In Proc. of the 10th International Conference on Software Engineering (ICSE), pages 80-86, Singapore, 1988
[18]
{18} H. A. Müller, M. A. Orgun, S. R. Tilley, J. S. Uhl. A Reverse Engineering Approach to Subsystem Structure Identification. Journal of Software Maintenance: Research and Practice, 5(4): pages 181-204, 1993
[19]
{19} M. J. Pacione, M. Roper, M. Wood. A Comparative Evaluation of Dynamic Visulation Tools. In Proc. Of the 10th Working Conference on Reverse Engineering (WCRE), pages 80-89, Victoria, BC, Canada, 2003
[20]
{20} T. Richner, S. Ducasse. Using Dynamic Information for the Iterative Recovery of Collaborations and Roles. In Proc. of the 18th International Conference on Software Maintenance (ICSM), pages 34-43, Montréal, QC, 2002
[21]
{21} T. Systä. Understanding the Behaviour of Java Programs. In Proc. of the 7th Working Conference on Reverse Engineering (WCRE), pages 214-223, Brisbane, QL, 2000
[22]
{22} T. Systä. Incremental Construction of Dynamic Models for Object-Oriented Software Systems. Journal of Object-Oriented Programming, 13 (5), pages 18-27, 2000
[23]
{23} T. Systä, K. Koskimies, H. A. Müller. Shimba - An Environment for Reverse Engineering Java Software Systems. Software-Practice and Experience, 31(4), pages 371-394, 2001
[24]
{24} T. Systä. Dynamic Reverse Engineering of Java Software. In Proc. of 13th European Conference on Object-Oriented Programming (ECOOP), 3rd Workshop on Experiences in Object-Oriented Reengineering, Lisbon, 1999
[25]
{25} V. Tzerpos, R. C. Holt. ACDC: An Algorithm for Comprehension-Driven Clustering. In Proc. Of 7th the Working Conference on Reverse Engineering, pages 258-267, Brisbane, Australia, 2000
[26]
{26} R. J. Walker, G. C. Murphy, B. Freeman-Benson, D. Swanson, J. Isaak. Visualizing Dynamic Software System Information through High-level Models. In Proc. ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 271-283, British Columbia, Canada, 1998
[27]
{27} N. Wilde, M. Scully. Software Reconnaissance: Mapping Program Features to Code. Journal of Software Maintenance: Research and Practice, Vol. 7, No. 1, 1995
[28]
{28} I. Zayour, T. C. Lethbridge. A Cognitive and User Centric Based Approach For Reverse Engineering Tool Design. CASCON, pages 16-30, Toronto, Canada, 2000

Cited By

View all
  • (2019)On the practical feasibility of software monitoringProceedings of the 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1109/SEAMS.2019.00030(169-180)Online publication date: 25-May-2019
  • (2018)A software engineering schema for data intensive applicationsProceedings of the 2018 ACM Southeast Conference10.1145/3190645.3190675(1-8)Online publication date: 29-Mar-2018
  • (2018)Inferring hierarchical motifs from execution tracesProceedings of the 40th International Conference on Software Engineering10.1145/3180155.3180216(776-787)Online publication date: 27-May-2018
  • Show More Cited By

Recommendations

Reviews

Niteen S. Yemul

Eight trace exploration tools and their associated techniques are discussed in this paper. It could be a good starting point for support executives grappling with analyses of large execution traces. Each tool and its techniques are described, followed by a discussion that summarizes associated concepts, including their advantages and disadvantages, and ways to improve them. Shimba is a reverse engineering environment for Java programs. It attempts to extract behavioral patterns, and represents output as scenario diagrams. ISVis is a visualization tool that uses recurring patterns, and represents them as an information mural and temporal message flow diagram, similar to unified modeling language (UML) sequence diagrams. Ovation, another tool, represents a trace as a tree-like structure. Jinsight is a Java visualization tool that represents traces in forms, such as histogram view and reference pattern view. Program explorer is a C++ exploration tool that represents a trace as an interaction graph. Architectural visualization of dynamics in Java programs is a tool that allows control of a sequence of events of the user's choice. The scenario management tool produces scenario diagrams from a dynamic event trace. The collaboration browser recovers object collaborations from execution traces. The above tools are discussed, focusing on aspects like modeling, abstraction, and size reduction of traces. ISVis applies modeling techniques to generate directed acyclic graphs, whereas Tree Explorer represents traces as graphs. Different levels of abstraction, such as object, class, and architecture, are considered. The size explosion problem considers using data collection techniques, pattern matching, sampling, and hiding components to reduce the size of trace. This survey does not cover tools that deal with distributed systems. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Information & Contributors

Information

Published In

cover image DL Hosted proceedings
CASCON '04: Proceedings of the 2004 conference of the Centre for Advanced Studies on Collaborative research
October 2004
317 pages

Sponsors

  • IBM Centre for Advanced Studies (CAS)
  • IBM Toronto Laboratory
  • NRC: National Research Council - Canada

Publisher

IBM Press

Publication History

Published: 04 October 2004

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 24 of 90 submissions, 27%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)1
Reflects downloads up to 09 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2019)On the practical feasibility of software monitoringProceedings of the 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1109/SEAMS.2019.00030(169-180)Online publication date: 25-May-2019
  • (2018)A software engineering schema for data intensive applicationsProceedings of the 2018 ACM Southeast Conference10.1145/3190645.3190675(1-8)Online publication date: 29-Mar-2018
  • (2018)Inferring hierarchical motifs from execution tracesProceedings of the 40th International Conference on Software Engineering10.1145/3180155.3180216(776-787)Online publication date: 27-May-2018
  • (2016)Software visualization todayProceedings of the 20th International Academic Mindtrek Conference10.1145/2994310.2994327(262-271)Online publication date: 17-Oct-2016
  • (2015)Measuring Inheritance Patterns in Object Oriented SystemsProceedings of the 8th India Software Engineering Conference10.1145/2723742.2723755(130-138)Online publication date: 18-Feb-2015
  • (2013)Efficiently rewriting large multimedia application execution traces with few event sequencesProceedings of the 19th ACM SIGKDD international conference on Knowledge discovery and data mining10.1145/2487575.2488211(1348-1356)Online publication date: 11-Aug-2013
  • (2013)A top-down approach to construct execution views of a large software-intensive systemJournal of Software: Evolution and Process10.1002/smr.57725:3(233-260)Online publication date: 1-Mar-2013
  • (2011)The reliability estimation, prediction and measuring of component-based softwareJournal of Systems and Software10.1016/j.jss.2011.01.04884:6(1054-1070)Online publication date: 1-Jun-2011
  • (2011)Execution trace exploration and analysis using ontologiesProceedings of the Second international conference on Runtime verification10.1007/978-3-642-29860-8_33(412-426)Online publication date: 27-Sep-2011
  • (2010)Modeling features at runtimeProceedings of the 13th international conference on Model driven engineering languages and systems: Part II10.5555/1929101.1929117(138-152)Online publication date: 3-Oct-2010
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media