An experiment on the role of graphical elements in architecture visualization

The evolution and maintenance of large-scale software systems requires first an understanding of its architecture before delving into lower-level details. Tools facilitating the architecture comprehension tasks by visualization provide different sets of configurable, graphical elements to present information to their users. We conducted a controlled experiment that exemplifies the critical role of such graphical elements when aiming at understanding the architecture. In our setting, a different configuration of graphical elements had significant influence on program comprehension tasks. In particular, a 63% gain in effectiveness in architectural analysis tasks was achieved simply by changing the configuration of the graphical elements of the same tool. Based on the results, we claim that significant effort should be spent on the configuration of architecture visualization tools and that configurability should be a requirement for such tools.

[1]  Xiaomin Wu,et al.  Plugging-in visualization: experiences integrating a visualization tool with Eclipse , 2003, SoftVis '03.

[2]  Dirk Muthig,et al.  Experiences with product line development of embedded systems at Testo AG , 2006 .

[3]  Timothy A. Davis,et al.  KScope: A Modularized Tool for 3D Visualization of Object-Oriented Programs , 2003, VISSOFT.

[4]  Michael Balzer,et al.  Software landscapes: visualizing the structure of large software systems , 2004, VISSYM'04.

[5]  Anthony Cox,et al.  Adding control-flow to a visual data-flow representation , 2005, 13th International Workshop on Program Comprehension (IWPC'05).

[6]  Susan Elliott Sim,et al.  A structured demonstration of five program comprehension tools: lessons learnt , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[7]  Charles L. A. Clarke,et al.  Browsing and searching software architectures , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[8]  Susan Elliott Sim,et al.  A structured demonstration of program comprehension tools , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[9]  Jason Leigh,et al.  Visualizing object-oriented software in virtual reality , 2001, Proceedings 9th International Workshop on Program Comprehension. IWPC 2001.

[10]  Michael J. Pacione Evaluating a Model of Software Visualisation for Software Comprehension , 2004 .

[11]  Michele Lanza,et al.  Combining Metrics and Graphs for Object Oriented Reverse Engineering , 1999 .

[12]  Prashant Palvia,et al.  Software maintenance management: Changes in the last decade , 1990, J. Softw. Maintenance Res. Pract..

[13]  Jens Knodel,et al.  Towards empirically validated software architecture visualization , 2006, SoftVis '06.

[14]  Rainer Koschke,et al.  Journal of Software Maintenance and Evolution: Research and Practice Software Visualization in Software Maintenance, Reverse Engineering, and Re-engineering: a Research Survey , 2022 .

[15]  Jacob Cohen,et al.  A power primer. , 1992, Psychological bulletin.

[16]  Dirk Beyer,et al.  Simple and efficient relational querying of software structures , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[17]  L. Hedges,et al.  Statistical Methods for Meta-Analysis , 1987 .

[18]  José J. Cañas,et al.  Are visual programming languages better? The role of imagery in program comprehension , 2001, Int. J. Hum. Comput. Stud..

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

[20]  G. W. Furnas,et al.  Generalized fisheye views , 1986, CHI '86.

[21]  Arun Lakhotia,et al.  Program comprehension , 1999 .

[22]  Welf Löwe,et al.  Towards the Unified Recovery Architecture for Reverse Engineering , 2003, Software Engineering Research and Practice.

[23]  Tarja Systä,et al.  On the Relationships between Static and Dynamic Models in Reverse Engineering Java Software , 1999, WCRE.

[24]  M. Lindvall,et al.  Knowledge management in software engineering , 2002, IEEE Software.

[25]  Klaus-Peter Löhr,et al.  SAB - The Software Architecture Browser , 2005, 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[26]  Thomas A. Corbi,et al.  Program Understanding: Challenge for the 1990s , 1989, IBM Syst. J..

[27]  Joachim Bayer,et al.  View based software documentation , 2004 .

[28]  Meir M. Lehman,et al.  Program evolution: processes of software change , 1985 .

[29]  René L. Krikhaar,et al.  A two-phase process for software architecture improvement , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[30]  David Notkin,et al.  Software Reflexion Models: Bridging the Gap between Design and Implementation , 2001, IEEE Trans. Software Eng..

[31]  Hausi A. Müller,et al.  Manipulating and documenting software structures using SHriMP views , 1995, Proceedings of International Conference on Software Maintenance.

[32]  F. Jouault,et al.  Program Comprehension , 2009 .

[33]  Jens Knodel,et al.  Understanding Software Architectures by Visualization--An Experiment with Graphical Elements , 2006, 2006 13th Working Conference on Reverse Engineering.

[34]  Hausi A. Müller,et al.  On integrating visualization techniques for effective software exploration , 1997, Proceedings of VIZ '97: Visualization Conference, Information Visualization Symposium and Parallel Rendering Symposium.

[35]  Jens Knodel,et al.  Static Architecture Evaluation of Open Source Reuse Candidates , 2006, NODe/GSEM.

[36]  Jens Knodel,et al.  Static evaluation of software architectures , 2006, Conference on Software Maintenance and Reengineering (CSMR'06).

[37]  Rainer Koschke,et al.  Hierarchical reflexion models , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[38]  Hausi A. Müller,et al.  How do program understanding tools affect how programmers understand programs? , 2000, Sci. Comput. Program..

[39]  Alexandru Telea,et al.  Visual Exploration of Combined Architectural and Metric Information , 2005, 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[40]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[41]  Victor R. Basili,et al.  The TAME Project: Towards Improvement-Oriented Software Environments , 1988, IEEE Trans. Software Eng..