Advertisement

Multimedia Tools and Applications

, Volume 78, Issue 23, pp 33113–33149 | Cite as

The city metaphor in software visualization: feelings, emotions, and thinking

  • Simone Romano
  • Nicola Capece
  • Ugo Erra
  • Giuseppe ScannielloEmail author
  • Michele Lanza
Article

Abstract

Software visualization is a program comprehension technique used in the context of software maintenance, reverse engineering, and software evolution analysis. In the last decade, researchers have been exploring 3D representations for visualizing programs. Among these representations, one of the most popular is the city metaphor, which represents a target program as a city. Recently, this metaphor has been also implemented in interactive software visualization tools using Virtual Reality (VR) in an immersive 3D environment medium. We report the results of a study to assess the city metaphor implemented in a VR-based tool and in a 3D-based tool with respect to users’ feelings, emotions, and thinking. To this end, we contrasted these tools with a non-visual exploration tool (i.e., Eclipse). The main result of our study is: the use of the city metaphor implemented in a VR-based tool positively affects users’ feelings and emotions, while the thinking about this implementation is positive and comparable with that of a traditional 3D implementation of the city metaphor and it is slightly better than the thinking about a non-visual exploration tool (i.e., Eclipse).

Keywords

Code city Software visualization Virtual reality Feelings Emotions Thinking 

Notes

References

  1. 1.
    Bacchelli A, Rigotti F, Hattori L, Lanza M (2011) Manhattan-3d city visualizations in eclipse. In: Proceedings of ECLIPSE IT, pp 307–310Google Scholar
  2. 2.
    Balogh G, Beszédes Á. (2013) Codemetropolis - code visualisation in minecraft. In: Proceedings of international working conference on source code analysis and manipulation. IEEE CS Press, pp 136–141.  https://doi.org/10.1109/SCAM.2013.6648194
  3. 3.
    Bartlett MS (1937) Properties of sufficiency and statistical tests. Proc R Soc Lond A Math Phys Sci 160(901):268–282.  https://doi.org/10.1098/rspa.1937.0109 CrossRefzbMATHGoogle Scholar
  4. 4.
    Canfora G, Di Penta M (2007) New frontiers of reverse engineering. In: Workshop on the future of software engineering, may 23-25, 2007, Minneapolis, MN, USA, pp 326–341Google Scholar
  5. 5.
    Capece N, Erra U, Romano S, Scanniello G (2017) Visualising a software system as a city through virtual reality. In: AVR (2), Lecture notes in computer science, vol 10325. Springer, pp 319–327Google Scholar
  6. 6.
    Carver J, Jaccheri L, Morasca S, Shull F (2003) Issues in using students in empirical studies in software engineering education. In: Proceedings of international symposium on software metrics, METRICS ’03. IEEE, Washington, pp 239–Google Scholar
  7. 7.
    Dunn OJ (1961) Multiple comparisons among means. J Am Stat Assoc 56 (293):52–64.  https://doi.org/10.1080/01621459.1961.10482090 MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Dunn OJ (1964) Multiple comparisons using rank sums. Technometrics 6 (3):241–252CrossRefGoogle Scholar
  9. 9.
    Fittkau F, Krause A, Hasselbring W (2015) Exploring software cities in virtual reality. In: Proceedings of Working Conference on Software Visualization, pp 130–134.  https://doi.org/10.1109/VISSOFT.2015.7332423
  10. 10.
    Fittkau F, Krause A, Hasselbring W (2016) Software landscape and application visualization for system comprehension with explorviz. Information and Software TechnologyGoogle Scholar
  11. 11.
    Francese R, Risi M, Scanniello G, Tortora G (2017) Users’ perception on the use of metricattitude to perform source code comprehension tasks: a focus group study. In: Proceedings of international conference information visualisation. IEEE CS Press, pp 8–13.  https://doi.org/10.1109/iV.2017.26
  12. 12.
    Fucci D, Scanniello G, Romano S, Juristo N (2018) Need for sleep: the impact of a night of sleep deprivation on novice developers’ performance. IEEE Trans Softw Eng, pp 1–1.  https://doi.org/10.1109/TSE.2018.2834900
  13. 13.
    Graziotin D, Wang X, Abrahamsson P (2014) Software developers, moods, emotions, and performance. IEEE Softw 31(4):24–27.  https://doi.org/10.1109/MS.2014.94 CrossRefGoogle Scholar
  14. 14.
    Graziotin D, Wang X, Abrahamsson P (2015) The affect of software developers: Common misconceptions and measurements. In: Proceedings of international workshop on cooperative and human aspects of software engineering, pp 123–124.  https://doi.org/10.1109/CHASE.2015.23
  15. 15.
    Kapec P, Brndiarová G, Gloger M, Marák J (2015) Visual analysis of software systems in virtual and augmented reality. In: International conference on intelligent engineering systems, pp 307–312.  https://doi.org/10.1109/INES.2015.7329727
  16. 16.
    Koschke R (2003) Software visualization in software maintenance, reverse engineering, and re-engineering: a research survey. Journal of Software Maintenance 15(2):87–109CrossRefGoogle Scholar
  17. 17.
    Kuutila M, Mäntylä MV, Claes M, Elovainio M (2018) Daily questionnaire to assess self-reported well-being during a software development project. In: Proceedings of international workshop on emotion awareness in software engineering, SEmotion ’18. ACM, pp 39–43.  https://doi.org/10.1145/3194932.3194942
  18. 18.
    Lanza M, Ducasse S (2003) Polymetric Views-A lightweight visual approach to reverse engineering. IEEE Trans Softw Eng 29(9):782–795CrossRefGoogle Scholar
  19. 19.
    Maletic JI, Leigh J, Marcus A, Dunlap G (2001) Visualizing object-oriented software in virtual reality. In: Proceedings of international workshop on program comprehension, pp 26–35.  https://doi.org/10.1109/WPC.2001.921711
  20. 20.
    Mäntylä MV, Novielli N, Lanubile F, Claes M, Kuutila M (2017) Bootstrapping a lexicon for emotional arousal in software engineering. In: Proceedings of international conference on mining software repositories, MSR ’17. IEEE Press, pp 198–202.  https://doi.org/10.1109/MSR.2017.47
  21. 21.
    Marcus A, Comorski D, Sergeyev A (2005) Supporting the evolution of a software visualization tool through usability studies. In: Proceedings of the international workshop on program comprehension. IEEE Computer Society, Washington, pp 307–316Google Scholar
  22. 22.
    Merino L, Bergel A, Nierstrasz O (2018) Overcoming issues of 3d software visualization through immersive augmented reality. In: Proceedings of working conference on software visualization, pp 54–64Google Scholar
  23. 23.
    Merino L, Ghafari M, Anslow C, Nierstrasz O (2017) Cityvr: Gameful software visualization. In: Proceedings of international conference on software maintenance and evolution.  https://doi.org/10.1109/ICSME.2017.70, vol 00, pp 633–637
  24. 24.
    Müller SC, Fritz T (2015) Stuck and frustrated or in flow and happy: Sensing developers’ emotions and progress. In: Proceedings of international conference on software engineering, ICSE ’15. IEEE Press, pp 688–699. http://dl.acm.org/citation.cfm?id=2818754.2818838
  25. 25.
    Murgia A, Tourani P, Adams B, Ortu M (2014) Do developers feel emotions? an exploratory analysis of emotions in software artifacts. In: Proceedings of working conference on mining software repositories, MSR 2014. ACM, pp 262–271.  https://doi.org/10.1145/2597073.2597086
  26. 26.
    Romano S, Capece N, Erra U, Scanniello G, Lanza M. On the use of virtual reality in software visualization: The case of the city metaphor. Information & Software Technology (under review). www2.unibas.it/gscanniello/CityMetaphor/IST2018.pdf
  27. 27.
    Romano S, Scanniello G, Fucci D, Juristo N, Turhan B (2018) The effect of noise on software engineers’ performance. In: Proceedings of international symposium on empirical software engineering and measurement, ESEM ’18. ACM, pp 9:1–9:10, DOI  https://doi.org/10.1145/3239235.3240496
  28. 28.
    Rudel M, Ganser J, Koschke R (2018) A controlled experiment on spatial orientation in vr-based software cities. In: Proceedings of working conference on software visualization, pp 21–31Google Scholar
  29. 29.
    Shapiro SS, Wilk MB (1965) An analysis of variance test for normality (complete samples). Biometrika 52(3/4):591–611MathSciNetCrossRefGoogle Scholar
  30. 30.
    Souza R, Silva B, Mendes T, Manoel M (2012) Skyscrapar: an augmented reality visualization for software evolution. In: Brazilian workshop on software visualization, pp 17–24Google Scholar
  31. 31.
    Storey MAD, Wong K, Muller HA (1997) How do program understanding tools affect how programmers understand programs. In: Proceedings of the working conference on reverse engineering. IEEE Computer Society, Washington, pp 12–Google Scholar
  32. 32.
    Teyseyre AR, Campo MR (2009) An overview of 3d software visualization. IEEE Trans Vis Comput Graph 15(1):87–105CrossRefGoogle Scholar
  33. 33.
    Tony A, Seewon R, Ingoo H (2007) The impact of web quality and playfulness on user acceptance of online retailing. Inf Manag 44(3):263–275CrossRefGoogle Scholar
  34. 34.
    Tukey JW (1949) Comparing individual means in the analysis of variance. Biometrics 5(2):99–114MathSciNetCrossRefGoogle Scholar
  35. 35.
    Vegas S, Apa C, Juristo N (2016) Crossover designs in software engineering experiments: Benefits and perils. IEEE Trans Softw Eng 42(2):120–135CrossRefGoogle Scholar
  36. 36.
    Watson D, Clark LA, Tellegen A (1988) Development and validation of brief measures of positive and negative affect: the panas scales. J Pers Soc Psychol 54 (6):1063–1070CrossRefGoogle Scholar
  37. 37.
    Wettel R, Lanza M (2007) Program comprehension through software habitability. In: Proceedings of international conference on program comprehension, pp 231–240.  https://doi.org/10.1109/ICPC.2007.30
  38. 38.
    Wettel R, Lanza M (2008) Visual exploration of large-scale system evolution. In: Proceedings of working conference on reverse engineering. IEEE Computer Society, pp 219–228Google Scholar
  39. 39.
    Wettel R, Lanza M (2008) Visually localizing design problems with disharmony maps. In: Proceedings of international symposium on software visualization. ACM, pp 155–164Google Scholar
  40. 40.
    Wettel R, Lanza M, Robbes R (2011) Software systems as cities: a controlled experiment. In: Proceedings of international conference on software engineering. ACM, pp 551–560.  https://doi.org/10.1145/1985793.1985868
  41. 41.
    Wohlin C, Runeson P, Hst M, Ohlsson MC, Regnell B, Wessln A (2012) Experimentation in software engineering. Springer Publishing Company, IncorporatedCrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2019

Authors and Affiliations

  1. 1.University of BariBariItaly
  2. 2.University of BasilicataPotenzaItaly
  3. 3.Università della Svizzera italiana (USI)LuganoSwitzerland

Personalised recommendations