Model-Based Analysis of Adoption Factors for Software Visualization Tools in Corrective Maintenance

Several classification models exist for software visualization (SoftVis) tools. Such models can be used to compare the features provided by several tools to the requirements of a given use case, in the process of selecting optimally fitting tools. However, it is not easy to predict how such models will perform when used to predict the adoption of SoftVis tools at large, especially for tools which were not considered during the model design. Here, we consider an existing classification model that aims to provide generic guidelines for comparing SoftVis tools for corrective maintenance (CM) based of their features perceived as desirable by users. Although this model explicitly captures several such features, it is not evident that tools that fit the model will be found effective by users in practice. This paper tests the above hypothesis by presenting a comparative evaluation of four software visualization (SoftVis) tools used in CM. The tools were selected to fit well the desirable criteria captured by the model under evaluation. Four independent groups of professional software developers participated in the evaluation, each group using a different tool to solve the same CM task on a real-world code base under typical industry conditions. The results show matches between the features described by the model as highly desirable and and those observed in practice to be essential for tool acceptance, e.g. IDE integration, extended search capabilities, multiple views, scalability, and the need for both dynamic and static visualizations; weakly relevant features, e.g. the commercial tool status; and features which do not influence acceptance, e.g. 3D and animation. Besides showing the correlation between the classification model and observed practice, our study further refines the model’s criteria seen as important for industrial acceptance of software visualization tools.

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

[2]  Eileen Kraemer,et al.  Designing your Next Empirical Study on Program Comprehension , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

[3]  Jeffrey S. Foster,et al.  A comparison of bug finding tools for Java , 2004, 15th International Symposium on Software Reliability Engineering.

[4]  Lucian Voinea,et al.  An interactive reverse engineering environment for large-scale C++ code , 2008, SoftVis '08.

[5]  Marc Roper,et al.  A comparative evaluation of dynamic visualisation tools , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[6]  Alexandru Telea,et al.  Extraction and visualization of call dependencies for large C/C++ code bases: A comparative study , 2009, 2009 5th IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[7]  Steven P. Reiss,et al.  Tool demonstration: JIVE and JOVE: Java as it happens , 2005, 13th International Workshop on Program Comprehension (IWPC'05).

[8]  Tore Dybå,et al.  The Future of Empirical Methods in Software Engineering Research , 2007, Future of Software Engineering (FOSE '07).

[9]  Andrian Marcus,et al.  Source Viewer 3D (sv3D) - a framework for software visualization , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[10]  Andrian Marcus,et al.  Supporting the evolution of a software visualization tool through usability studies , 2005, 13th International Workshop on Program Comprehension (IWPC'05).

[11]  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.

[12]  Iyad Zayour,et al.  Adoption of reverse engineering tools: a cognitive perspective and methodology , 2001, Proceedings 9th International Workshop on Program Comprehension. IWPC 2001.

[13]  Marin Litoiu,et al.  SHriMP views: an interactive environment for information visualization and navigation , 2002, CHI Extended Abstracts.

[14]  Dirk Heuzeroth Software-Visualization-From Theory to Practice , 2003 .

[15]  Peter M. Chisnall,et al.  Questionnaire Design, Interviewing and Attitude Measurement , 1993 .

[16]  Gruia-Catalin Roman,et al.  A taxonomy of program visualization systems , 1993, Computer.

[17]  Hausi A. Müller,et al.  Requirements of Software Visualization Tools: A Literature Survey , 2007, 2007 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[18]  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 .

[19]  Mira Mezini,et al.  Towards More Flexibility in Software Visualization Tools , 2005, 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[20]  Luciana P. Nedel,et al.  Evaluating Usability of Information Visualization Techniques , 2002 .

[21]  Steven P. Reiss The Paradox of Software Visualization , 2005, 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[22]  E. Burton Swanson,et al.  The dimensions of maintenance , 1976, ICSE '76.

[23]  Hausi A. Müller,et al.  A cognitive framework for describing and evaluating software exploration tools , 1998 .

[24]  Melanie Tory,et al.  Evaluating Visualizations: Do Expert Reviews Work? , 2005, IEEE Computer Graphics and Applications.

[25]  Amy J. Ko,et al.  Eliciting design requirements for maintenance-oriented IDEs: a detailed study of corrective and perfective maintenance tasks , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

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

[27]  Alexandru Telea,et al.  An Open Toolkit for Prototyping Reverse Engineering Visualizations , 2002, VisSym.

[28]  D.M. German,et al.  Remixing visualization to support collaboration in software maintenance , 2008, 2008 Frontiers of Software Maintenance.

[29]  Michele Lanza,et al.  Visually localizing design problems with disharmony maps , 2008, SoftVis '08.

[30]  Aaron Marcus,et al.  Software visualization for debugging , 1997, CACM.

[31]  Lucian Voinea,et al.  Visual Analytics in Software Maintenance: Challenges and Opportunities , 2010, EuroVAST@EuroVis.

[32]  Lionel C. Briand The Experimental Paradigm in Reverse Engineering: Role, Challenges, and Limitations , 2006, 2006 13th Working Conference on Reverse Engineering.

[33]  Marco Torchiano,et al.  Empirical studies in reverse engineering: state of the art and future trends , 2007, Empirical Software Engineering.

[34]  Austin Henderson,et al.  Interaction design: beyond human-computer interaction , 2002, UBIQ.

[35]  Stephan Diehl,et al.  Software Visualization - Visualizing the Structure, Behaviour, and Evolution of Software , 2007 .

[36]  John Domingue,et al.  Software visualization : programming as a multimedia experience , 1998 .

[37]  Ben Shneiderman,et al.  Treemaps for space-constrained visualization of hierarchies , 2005 .

[38]  Blaine A. Price,et al.  A Principled Taxonomy of Software Visualization , 1993, J. Vis. Lang. Comput..

[39]  Patrick Ogao,et al.  Classifying desirable features of software visualization tools for corrective maintenance , 2008, SOFTVIS.

[40]  Margaret M. Burnett,et al.  Software visualization for end-user programmers: trial period obstacles , 2008, SoftVis '08.

[41]  M. Sheelagh T. Carpendale,et al.  ArcTrees: Visualizing Relations in Hierarchical Data , 2005, EuroVis.

[42]  Patrick Ogao,et al.  Visualizing Object Oriented Software: Towards a Point of Reference for Developing Tools for Industry , 2007, 2007 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[43]  Stuart M. Charters,et al.  The end of the line for Software Visualisation? , 2003, VISSOFT.

[44]  Deborah Hix,et al.  User-Centered Design and Evaluation of Virtual Environments , 1999, IEEE Computer Graphics and Applications.

[45]  Lucian Voinea,et al.  CVSgrab: Mining the History of Large Software Projects , 2006, EuroVis.

[46]  Patrick Ogao,et al.  Evaluation of software visualization tools: Lessons learned , 2009, 2009 5th IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[47]  Rudolf K. Keller,et al.  Software visualization tools: survey and analysis , 2001, Proceedings 9th International Workshop on Program Comprehension. IWPC 2001.

[48]  Marcelo R. Campo,et al.  An Overview of 3D Software Visualization , 2009, IEEE Transactions on Visualization and Computer Graphics.

[49]  Ramana Rao,et al.  The table lens: merging graphical and symbolic representations in an interactive focus + context visualization for tabular information , 1994, CHI '94.

[50]  Shihong Huang,et al.  On selecting software visualization tools for program understanding in an industrial context , 2002, Proceedings 10th International Workshop on Program Comprehension.

[51]  S. Read Applications of Case Study Research , 2003 .

[52]  Martin P. Robillard,et al.  A Comparative Study of Three Program Exploration Tools , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

[53]  Patrick Ogao,et al.  Tool users requirements classification: how software visualization tools measure up , 2007, AFRIGRAPH '07.

[54]  D. Sun,et al.  On understanding software tool adoption using perceptual theories , 2004, ICSE 2004.