SHriMP Views: An Interactive Environment for Exploring Multiple Hierarchical Views of a Java Program

This position paper describes the SHriMP visualization tool and how we are customizing it for browsing Java programs. Available visualizations include views of the Java source code, generated Java documentation, personalized annotations and several architectural views. The architectural views, displayed graphically as nested graphs, provide an interface through which the textual lower-level views can be accessed and explored. The goal of combining graphical high-level views with textual lower-level views is to ease navigation within large and complex software programs. We conjecture that using an architectural view as the navigation structure will make it easier for a programmer to build a mental model of an unfamiliar program. We are currently implementing user studies to test this hypothesis in addition to actively seeking feedback from other researchers developing related tools and technologies. SHriMP has been redesigned using Java beans. The new component based design facilitates data integration and control integration so that it can more easily interoperate with other tools. An active part of our research is exploring the integration of other views within SHriMP to investigate if these combinations can aid software maintenance. The rest of the position paper is organized as follows. The next section provides some background on the SHriMP tool. Section 3 presents a scenario of how SHriMP can be used for browsing and exploring a Java program. Section 4 describes our current work and reviews the main research questions we are considering.

[1]  Hausi A. Müller,et al.  Integrating information sources for visualizing Java programs , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[2]  Margaret-Anne Storey,et al.  Manipulating And Documenting Software Structures , 1995 .

[3]  Margaret-Anne D. Storey,et al.  A multi-perspective software visualization environment , 2000, CASCON.

[4]  Hausi A. Müller,et al.  On designing an experiment to evaluate a reverse engineering tool , 1996, Proceedings of WCRE '96: 4rd Working Conference on Reverse Engineering.

[5]  Henrik Eriksson,et al.  Knowledge modeling at the millennium : The design and evolution of Protégé-2000 , 1999 .

[6]  Hausi A. Müller,et al.  How do program understanding tools affect how programmers understand programs? , 1997, Proceedings of the Fourth Working Conference on Reverse Engineering.