On the use of virtual reality in software visualization: The case of the city metaphor

Abstract Background: Researchers have been exploring 3D representations for visualizing software. Among these representations, one of the most popular is the city metaphor , which represents a target object-oriented system as a virtual city. Recently, this metaphor has been also implemented in interactive software visualization tools that use virtual reality in an immersive 3D environment medium. Aims: We assessed the city metaphor displayed on a standard computer screen and in an immersive virtual reality with respect to the support provided in the comprehension of Java software systems. Method: We conducted a controlled experiment where we asked the participants to fulfill program comprehension tasks with the support of (i)  an integrated development environment (Eclipse) with a plugin for gathering code metrics and identifying bad smells; and (ii)  a visualization tool of the city metaphor displayed on a standard computer screen and in an immersive virtual reality. Results: The use of the city metaphor displayed on a standard computer screen and in an immersive virtual reality significantly improved the correctness of the solutions to program comprehension tasks with respect to Eclipse. Moreover, when carrying out these tasks, the participants using the city metaphor displayed in an immersive virtual reality were significantly faster than those visualizing with the city metaphor on a standard computer screen. Conclusions: Virtual reality is a viable means for software visualization.

[1]  Rüdiger Lincke,et al.  Comparing software metrics tools , 2008, ISSTA '08.

[2]  Jeffrey C. Carver,et al.  A Framework for Software Engineering Experimental Replications , 2008, 13th IEEE International Conference on Engineering of Complex Computer Systems (iceccs 2008).

[3]  Fabio Q. B. da Silva,et al.  Replication of empirical studies in software engineering research: a systematic mapping study , 2012, Empirical Software Engineering.

[4]  Mohammad Ghafari,et al.  CityVR: Gameful Software Visualization , 2017, 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[5]  Michele Lanza,et al.  Visualizing Software Systems as Cities , 2007, 2007 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[6]  Jeffrey C. Carver,et al.  Issues in using students in empirical studies in software engineering education , 2003, Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No.03EX717).

[7]  Mohammad Ghafari,et al.  On the Impact of the Medium in the Effectiveness of 3D Software Visualizations , 2017, 2017 IEEE Working Conference on Software Visualization (VISSOFT).

[8]  O. J. Dunn Multiple Comparisons Using Rank Sums , 1964 .

[9]  Arnulph Fuhrmann,et al.  IslandViz: A Tool for Visualizing Modular Software Systems in Virtual Reality , 2018, 2018 IEEE Working Conference on Software Visualization (VISSOFT).

[10]  Giuseppe Scanniello,et al.  Software Systems as Archipelagos of Atolls , 2015, 2015 19th International Conference on Information Visualisation.

[11]  John C. Grundy,et al.  A 3D metaphor for software production visualization , 2003, Proceedings on Seventh International Conference on Information Visualization, 2003. IV 2003..

[12]  O. J. Dunn Multiple Comparisons among Means , 1961 .

[13]  Oscar Nierstrasz,et al.  Overcoming Issues of 3D Software Visualization through Immersive Augmented Reality , 2018, 2018 IEEE Working Conference on Software Visualization (VISSOFT).

[14]  Forrest Shull,et al.  Building Knowledge through Families of Experiments , 1999, IEEE Trans. Software Eng..

[15]  Michele Lanza,et al.  Program Comprehension through Software Habitability , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

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

[17]  Richard W. Vuduc,et al.  Communicating Software Architecture using a Unified Single-View Visualization , 2007, 12th IEEE International Conference on Engineering Complex Computer Systems (ICECCS 2007).

[18]  Giuseppe Scanniello,et al.  Evaluating legacy system migration technologies through empirical studies , 2009, Inf. Softw. Technol..

[19]  Giuseppe Scanniello,et al.  The city metaphor in software visualization: feelings, emotions, and thinking , 2019, Multimedia Tools and Applications.

[20]  Michele Lanza,et al.  Manhattan — 3D City Visualizations in Eclipse , 2011 .

[21]  S. Shapiro,et al.  An Analysis of Variance Test for Normality (Complete Samples) , 1965 .

[22]  Jeffrey C. Carver,et al.  Replication types: towards a shared taxonomy , 2014, EASE '14.

[23]  Winifred Menezes,et al.  Marketing Technology to Software Practitioners , 2000, IEEE Softw..

[24]  Giuseppe Scanniello,et al.  Visualizing the Evolution of Software Systems Using the Forest Metaphor , 2012, 2012 16th International Conference on Information Visualisation.

[25]  Giuseppe Scanniello,et al.  Visualising a Software System as a City Through Virtual Reality , 2017, AVR.

[26]  Giuseppe Scanniello,et al.  Towards the visualization of software systems as 3D forests: the CodeTrees environment , 2012, SAC '12.

[27]  Rini van Solingen,et al.  Goal Question Metric (GQM) Approach , 2002 .

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

[29]  Francesca Arcelli Fontana,et al.  An Experience Report on Using Code Smells Detection Tools , 2011, 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops.

[30]  D. Watson,et al.  Development and validation of brief measures of positive and negative affect: the PANAS scales. , 1988, Journal of personality and social psychology.

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

[32]  Arnulph Fuhrmann,et al.  Immersive Exploration of OSGi-Based Software Systems in Virtual Reality , 2018, 2018 IEEE Conference on Virtual Reality and 3D User Interfaces (VR).

[33]  Árpád Beszédes,et al.  CodeMetropolis - code visualisation in MineCraft , 2013, 2013 IEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM).

[34]  Romain Robbes,et al.  Empirical Validation of CodeCity: A Controlled Experiment , 2010 .

[35]  P. Kapec,et al.  Visual analysis of software systems in virtual and augmented reality , 2015, 2015 IEEE 19th International Conference on Intelligent Engineering Systems (INES).

[36]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2012, Springer Berlin Heidelberg.

[37]  Natalia Juristo Juzgado,et al.  Understanding replication of experiments in software engineering: A classification , 2014, Inf. Softw. Technol..

[38]  Michele Lanza,et al.  Visual Exploration of Large-Scale System Evolution , 2008, 2008 15th Working Conference on Reverse Engineering.

[39]  Giuseppe Scanniello,et al.  MetricAttitude: a visualization tool for the reverse engineering of object oriented software , 2012, AVI.

[40]  Rainer Koschke,et al.  A Controlled Experiment on Spatial Orientation in VR-Based Software Cities , 2018, 2018 IEEE Working Conference on Software Visualization (VISSOFT).

[41]  Romain Robbes,et al.  Software systems as cities: a controlled experiment , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

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

[43]  Hong Yul Yang,et al.  A Solar System Metaphor for 3D Visualisation of Object Oriented Software Metrics , 2004, InVis.au.

[44]  Stéphane Ducasse,et al.  Polymetric Views - A Lightweight Visual Approach to Reverse Engineering , 2003, IEEE Trans. Software Eng..

[45]  Natalia Juristo Juzgado,et al.  Replications of software engineering experiments , 2013, Empirical Software Engineering.

[46]  Andrian Marcus,et al.  3D representations for software visualization , 2003, SoftVis '03.

[47]  Barbara A. Kitchenham,et al.  The role of replications in empirical software engineering—a word of warning , 2008, Empirical Software Engineering.

[48]  Michele Lanza CodeCrawler - polymetric views in action , 2004, Proceedings. 19th International Conference on Automated Software Engineering, 2004..

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

[50]  Natalia Juristo Juzgado,et al.  Basics of Software Engineering Experimentation , 2010, Springer US.

[51]  M. Bartlett Properties of Sufficiency and Statistical Tests , 1992 .

[52]  Ingoo Han,et al.  The impact of Web quality and playfulness on user acceptance of online retailing , 2007, Inf. Manag..

[53]  Xiaodi Huang,et al.  Pattern puzzle: a metaphor for visualizing software complexity measures , 2006, APVIS.

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

[55]  Claes Wohlin,et al.  Using Students as Subjects—A Comparative Study of Students and Professionals in Lead-Time Impact Assessment , 2000, Empirical Software Engineering.

[56]  Amaia Aguirregoitia Martínez,et al.  A landscape metaphor for visualization of software projects , 2008, SoftVis '08.

[57]  Harald C. Gall,et al.  Towards an Integrated View on Architecture and its Evolution , 2005, Electron. Notes Theor. Comput. Sci..

[58]  Malcolm Munro,et al.  Virtual but visible software , 2000, 2000 IEEE Conference on Information Visualization. An International Conference on Computer Visualization and Graphics.

[59]  J. Tukey Comparing individual means in the analysis of variance. , 1949, Biometrics.

[60]  Wilhelm Hasselbring,et al.  Exploring software cities in virtual reality , 2015, 2015 IEEE 3rd Working Conference on Software Visualization (VISSOFT).

[61]  Jeffrey C. Carver,et al.  The role of replications in Empirical Software Engineering , 2008, Empirical Software Engineering.

[62]  Stuart M. Charters,et al.  Visualisation for informed decision making; from code to components , 2002, SEKE '02.

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

[64]  Natalia Juristo Juzgado,et al.  Replications types in experimental disciplines , 2010, ESEM '10.

[65]  Giuseppe Scanniello,et al.  Users' Perception on the Use of MetricAttitude to Perform Source Code Comprehension Tasks: A Focus Group Study , 2017, 2017 21st International Conference Information Visualisation (IV).