Execution trace analysis through massive sequence and circular bundle views

Preprint of article published in: Journal of Systems and Software (Elsevier), 81 (12), 2008; doi:10.1016/j.jss.2008.02.068 An important part of many software maintenance tasks is to gain a sufficient level of understanding of the system at hand. The use of dynamic information to aid in this software understanding process is a common practice nowadays. A major issue in this context is scalability: due to the vast amounts of information, it is a very difficult task to successfully navigate through the dynamic data contained in execution traces without getting lost. In this paper, we propose the use of two novel trace visualization techniques based on the massive sequence and circular bundle view, which both reflect a strong emphasis on scalability. These techniques have been implemented in a tool called Extravis. By means of distinct usage scenarios that were conducted on three different software systems, we show how our approach is applicable in three typical program comprehension tasks: trace exploration, feature location, and top-down analysis with domain knowledge.

[1]  Daniel Amyot,et al.  Recovering behavioral design models from execution traces , 2005, Ninth European Conference on Software Maintenance and Reengineering.

[2]  Christoph Wysseier,et al.  Visualizing live software systems in 3D , 2006, SoftVis '06.

[3]  Toon Calders,et al.  Applying Webmining techniques to execution traces to support the program comprehension process , 2005, Ninth European Conference on Software Maintenance and Reengineering.

[4]  Andy Zaidman,et al.  Scalability solutions for program comprehension through dynamic analysis , 2006, Conference on Software Maintenance and Reengineering (CSMR'06).

[5]  Rainer Koschke,et al.  Locating Features in Source Code , 2003, IEEE Trans. Software Eng..

[6]  Adrian Kuhn,et al.  Exploiting the Analogy Between Traces and Signal Processing , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

[7]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[8]  Doug Kimelman,et al.  Visualizing the behavior of object-oriented systems , 1993, OOPSLA '93.

[9]  J.A. Gomez,et al.  Locating user functionality in old code , 1992, Proceedings Conference on Software Maintenance 1992.

[10]  Mark N. Wegman,et al.  Execution Patterns in Object-Oriented Visualization , 1998, COOTS.

[11]  Hausi A. Müller,et al.  Proceedings of the 23rd International Conference on Software Engineering & Knowledge Engineering (SEKE'2011), Eden Roc Renaissance, Miami Beach, USA, July 7-9, 2011 , 2001, SEKE.

[12]  Bjørn N. Freeman-Benson,et al.  Visualizing dynamic software system information through high-level models , 1998, OOPSLA '98.

[13]  Ben Shneiderman,et al.  The eyes have it: a task by data type taxonomy for information visualizations , 1996, Proceedings 1996 IEEE Symposium on Visual Languages.

[14]  Steven P. Reiss Visualizing Java in action , 2003, SoftVis '03.

[15]  Arie van Deursen,et al.  Visualizing Testsuites to Aid in Software Understanding , 2006, 11th European Conference on Software Maintenance and Reengineering (CSMR'07).

[16]  Margaret M. Burnett,et al.  Representation Design Benchmarks: A Design-Time Aid for VPL Navigable Static Representations , 1997, J. Vis. Lang. Comput..

[17]  Walter F. Tichy,et al.  Proceedings 25th International Conference on Software Engineering , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[18]  Jarke J. van Wijk,et al.  Trace Visualization Using Hierarchical Edge Bundles and Massive Sequence Views , 2007, 2007 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[19]  David Notkin,et al.  Software reflexion models: bridging the gap between source and high-level models , 1995, SIGSOFT FSE.

[20]  Danny B. Lange,et al.  Object-Oriented Program Tracing and Visualization , 1997, Computer.

[21]  Andrian Marcus,et al.  A task oriented view of software visualization , 2002, Proceedings First International Workshop on Visualizing Software for Understanding and Analysis.

[22]  Gail C. Murphy,et al.  Scaling an object-oriented system execution visualizer through sampling , 2003, 11th IEEE International Workshop on Program Comprehension, 2003..

[23]  Stéphane Ducasse,et al.  Using dynamic information for the iterative recovery of collaborations and roles , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[24]  Arie van Deursen,et al.  Understanding Execution Traces Using Massive Sequence and Circular Bundle Views , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

[25]  Yann-Gaël Guéhéneuc,et al.  Feature Location Using Probabilistic Ranking of Methods Based on Execution Scenarios and Information Retrieval , 2007, IEEE Transactions on Software Engineering.

[26]  Hausi A. Müller,et al.  Shimba—an environment for reverse engineering Java software systems , 2001, Softw. Pract. Exp..

[27]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[28]  Lionel C. Briand,et al.  Toward the Reverse Engineering of UML Sequence Diagrams for Distributed Java Software , 2006, IEEE Transactions on Software Engineering.

[29]  Victor R. Basili,et al.  Evolving and packaging reading technologies , 1997, J. Syst. Softw..

[30]  Paolo Nesi,et al.  Proceedings of the Third European Conference on Software Maintenance and Reengineering, Cahapel of St. Agnes, University of Amsterdam, the Netherlands, March 3-5, 1999 , 1999 .

[31]  Steven P. Reiss,et al.  Encoding program executions , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[32]  Rainer Koschke,et al.  Feature-driven program understanding using concept analysis of execution traces , 2001, Proceedings 9th International Workshop on Program Comprehension. IWPC 2001.

[33]  John T. Stasko,et al.  The information mural: a technique for displaying and navigating large information spaces , 1995, Proceedings of Visualization 1995 Conference.

[34]  Danny Holten,et al.  Hierarchical Edge Bundles: Visualization of Adjacency Relations in Hierarchical Data , 2006, IEEE Transactions on Visualization and Computer Graphics.

[35]  Stéphane Ducasse,et al.  High-level polymetric views of condensed run-time information , 2004, Eighth European Conference on Software Maintenance and Reengineering, 2004. CSMR 2004. Proceedings..

[36]  John T. Stasko,et al.  Visualizing Interactions in Program Executions , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[37]  Thomas D. LaToza,et al.  Maintaining mental models: a study of developer work habits , 2006, ICSE.

[38]  Anneliese Amschler Andrews,et al.  Program Comprehension During Software Maintenance and Evolution , 1995, Computer.

[39]  Andy Zaidman,et al.  Managing trace data volume through a heuristical clustering process based on event execution frequency , 2004, Eighth European Conference on Software Maintenance and Reengineering, 2004. CSMR 2004. Proceedings..

[40]  Manos Reniers,et al.  ALMOST: Exploring Program Traces , 1999, Workshop on New Paradigms in Information Visualization and Manipulation.