CityVR: Gameful Software Visualization

Gamification of software engineering tasks improve developer engagement, but has been limited to mechanisms such as points and badges. We believe that a tool that provides developers an interface analogous to computer games can represent the gamification of software engineering tasks more effectively via software visualization. We introduce CityVR – an interactive software visualization tool that implements the city metaphor technique using virtual reality in an immersive 3D environment medium to boost developer engagement in software comprehension tasks. We evaluated our tool with a case study based on ArgoUML. We measured engagement in terms of feelings, interaction, and time perception. We report on how our design choices relate to developer engagement. We found that developers i) felt curious, immersed, in control, excited, and challenged, ii) spent considerable interaction time navigating and selecting elements, and iii) perceived that time passed faster than in reality, and therefore were willing to spend more time using the tool to solve software engineering tasks.https://youtu.be/R0C-HMAtgnk

[1]  Paul A. Cairns,et al.  A grounded investigation of game immersion , 2004, CHI EA '04.

[2]  Peter Young,et al.  Visualising software in virtual reality , 1998, Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242).

[3]  Alfa Yohannis,et al.  Sort Attack: Visualization and Gamification of Sorting Algorithm Learning , 2015, 2015 7th International Conference on Games and Virtual Worlds for Serious Applications (VS-Games).

[4]  Ewan D. Tempero,et al.  User evaluation of polymetric views using a large visualization wall , 2010, SOFTVIS '10.

[5]  Daniel Baldauf,et al.  Time perception as a workload measure in simulated car driving. , 2009, Applied ergonomics.

[6]  Paul A. Cairns,et al.  Measuring and defining the experience of immersion in games , 2008, Int. J. Hum. Comput. Stud..

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

[8]  Mohammad Ghafari,et al.  Towards Actionable Visualisation in Software Development , 2016, 2016 IEEE Working Conference on Software Visualization (VISSOFT).

[9]  Malcolm Munro,et al.  Comprehension with[in] virtual environment visualisations , 1999, Proceedings Seventh International Workshop on Program Comprehension.

[10]  Thomas W. Malone,et al.  What makes things fun to learn? heuristics for designing instructional computer games , 1980, SIGSMALL '80.

[11]  Tibor Gyimóthy,et al.  Using the City Metaphor for Visualizing Test-Related Metrics , 2016, 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER).

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

[13]  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).

[14]  Mario Piattini,et al.  Gamification in software engineering - A systematic mapping , 2015, Inf. Softw. Technol..

[15]  Felix Raab CodeSmellExplorer: Tangible exploration of code smells and refactorings , 2012, 2012 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[16]  Simon Colton,et al.  Capturing player experience with post-game commentaries , 2010, CGAMES 2010.

[17]  Giordano Tamburrelli,et al.  Understanding gamification mechanisms for software development , 2013, ESEC/FSE 2013.

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