An information exploration tool for performance analysis of Java programs

The diagnosis of performance and memory problems can require the analysis of large and complex data sets describing a program's execution. An analysis tool must help the user both find the right organization of the data to uncover useful information, and work with the data through a lengthy and unpredictable discovery process. We present Jinsight EX, a tool for analyzing Java performance, that adopts techniques that have been successfully used to explore large data sets in other application domains, and adapts them specifically to the needs of program execution analysis. We introduce execution slices, a high-level organizing abstraction that the user may define and then easily reuse in various settings. We illustrate techniques that allow the user to perform a range of common analysis tasks and to structure a longer analysis process, using this abstraction. We present the tool, its implementation and initial experience of its use.

[1]  Frank Tip,et al.  A survey of program slicing techniques , 1994, J. Program. Lang..

[2]  Alberto O. Mendelzon,et al.  Visualizing and Querying Distributed Event Traces with Hy+ , 1994, ADB.

[3]  Erik Thomsen,et al.  OLAP Solutions - Building Multidimensional Information Systems , 1997 .

[4]  James V. Hansen,et al.  A Relational Approach to Monitoring Controls , 1986, IEEE Transactions on Systems, Man, and Cybernetics.

[5]  Bernice E. Rogowitz,et al.  Visual cues for data mining , 1996, Electronic Imaging.

[6]  Doug Kimelman,et al.  Modeling Object-Oriented Program Execution , 1994, ECOOP.

[7]  Gary Sevitsky,et al.  Visualizing reference patterns for solving memory leaks in Java , 1999, Concurr. Pract. Exp..

[8]  John T. Stasko,et al.  Visualizing program executions on large data sets , 1996, Proceedings 1996 IEEE Symposium on Visual Languages.

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

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

[11]  Steven P. Reiss Software visualization in the desert environment , 1998, PASTE '98.

[12]  Thomas Ball,et al.  Visualizing program slices , 1994, Proceedings of 1994 IEEE Symposium on Visual Languages.

[13]  Roy H. Campbell,et al.  Architecture-oriented visualization , 1996, OOPSLA '96.

[14]  T. Systa,et al.  On the relationships between static and dynamic models in reverse engineering Java software , 1999, Sixth Working Conference on Reverse Engineering (Cat. No.PR00303).

[15]  Richard T. Snodgrass,et al.  A relational approach to monitoring complex systems , 1988, TOCS.

[16]  Spencer Rugaber,et al.  Using visualization for architectural localization and extraction , 1997, Proceedings of the Fourth Working Conference on Reverse Engineering.

[17]  Danny B. Lange,et al.  Interactive visualization of design patterns can help in framework understanding , 1995, OOPSLA.

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

[19]  John T. Stasko,et al.  The Information Mural: A Technique for Displaying and Navigating Large Information Spaces , 1998, IEEE Trans. Vis. Comput. Graph..

[20]  Ambuj K. Singh,et al.  Dynamic Query-Based Debugging , 1999, ECOOP.

[21]  Stéphane Ducasse,et al.  Recovering high-level views of object-oriented applications from static and dynamic information , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).