Skip to main content
Log in

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

  • Published:
Multimedia Tools and Applications Aims and scope Submit manuscript

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).

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18

Similar content being viewed by others

Notes

  1. The p-values returned by the Dunn’s test are adjusted according to the Bonferroni adjustment [7].

References

  1. Bacchelli A, Rigotti F, Hattori L, Lanza M (2011) Manhattan-3d city visualizations in eclipse. In: Proceedings of ECLIPSE IT, pp 307–310

  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. 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

    Article  MATH  Google Scholar 

  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–341

  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–327

  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–

  7. Dunn OJ (1961) Multiple comparisons among means. J Am Stat Assoc 56 (293):52–64. https://doi.org/10.1080/01621459.1961.10482090

    Article  MathSciNet  MATH  Google Scholar 

  8. Dunn OJ (1964) Multiple comparisons using rank sums. Technometrics 6 (3):241–252

    Article  Google Scholar 

  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. Fittkau F, Krause A, Hasselbring W (2016) Software landscape and application visualization for system comprehension with explorviz. Information and Software Technology

  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. 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. 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

    Article  Google Scholar 

  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. 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. Koschke R (2003) Software visualization in software maintenance, reverse engineering, and re-engineering: a research survey. Journal of Software Maintenance 15(2):87–109

    Article  Google Scholar 

  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. Lanza M, Ducasse S (2003) Polymetric Views-A lightweight visual approach to reverse engineering. IEEE Trans Softw Eng 29(9):782–795

    Article  Google Scholar 

  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. 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. 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–316

  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–64

  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. 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. 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. 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. 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. 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–31

  29. Shapiro SS, Wilk MB (1965) An analysis of variance test for normality (complete samples). Biometrika 52(3/4):591–611

    Article  MathSciNet  Google Scholar 

  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–24

  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–

  32. Teyseyre AR, Campo MR (2009) An overview of 3d software visualization. IEEE Trans Vis Comput Graph 15(1):87–105

    Article  Google Scholar 

  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–275

    Article  Google Scholar 

  34. Tukey JW (1949) Comparing individual means in the analysis of variance. Biometrics 5(2):99–114

    Article  MathSciNet  Google Scholar 

  35. Vegas S, Apa C, Juristo N (2016) Crossover designs in software engineering experiments: Benefits and perils. IEEE Trans Softw Eng 42(2):120–135

    Article  Google Scholar 

  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–1070

    Article  Google Scholar 

  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. 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–228

  39. Wettel R, Lanza M (2008) Visually localizing design problems with disharmony maps. In: Proceedings of international symposium on software visualization. ACM, pp 155–164

  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. Wohlin C, Runeson P, Hst M, Ohlsson MC, Regnell B, Wessln A (2012) Experimentation in software engineering. Springer Publishing Company, Incorporated

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Giuseppe Scanniello.

Additional information

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix A: Comprehension tasks

In this appendix, we report the comprehension tasks the participants had to carry out as well as the rationale behind them and the corresponding concerns (see Table 14). The description of these tasks is taken from the paper by Wettel et al. [40].

Table 14 Description of the comprehension tasks taken from the paper by Wettel et al. [40]

Appendix B: Descriptive statistics

In this appendix, we provide the descriptive statistics values—mean, median, and SD (Standard Deviation). In particular, the descriptive statistics for the PAS and NAS values are shown in Table 15. These values are grouped by tool and kind of participants (i.e., all the participants or only the undergraduates). We do not report the descriptive statistics for the graduates because of their low number (three in the Code2City and Code2CityVR groups, respectively, while two in the Eclipse group). When comparing the results of all the participants with those of the undergraduates only, we can notice that there are not huge differences in terms of either PAS or NAS values. In particular, for Code2City and Eclipse the PAS values are, on average, slightly better when considering the undergraduates only. As for Code2CityVR, the PAS values are, on average, slightly better when considering all the participants. The NAS values are, whatever the tool was, slightly better when considering the undergraduates only. Summing up, we can observe no noticeable difference in the participants’ emotions and feelings when comparing all of them with the undergraduates only.

Table 15 Some descriptive statistics for PAS and NAS grouped by tool and kind of participants

Similarly to Table 15, we show the descriptive statistics for TQ, IQ, SQ, P, PEU, PU, AU, and BIU in Table 16. We can observe that their distributions are not so different when considering either all the participants or the undergraduates only. In particular, for Code2City and Eclipse the TQ values are, on average, slightly better when considering the undergraduates only. As for Code2City, the values are slightly better when considering all the participants. A similar trend can be observed for IQ, SQ, P, PU, AU, and BIU. With respect to PEU, for both Code2CityVR and Eclipse groups the mean value is slightly better when considering all the participants (while the mean PEU value is slightly better for Code2City when considering the undergraduates only). Again, we can conclude that there is no noticeable difference in the thinking of the undergraduates with respect that of all the participants.

Table 16 Some descriptive statistics for TQ, IQ, SQ, P, PEU, PU, AU, and BIU grouped by tool and kind of participants

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Romano, S., Capece, N., Erra, U. et al. The city metaphor in software visualization: feelings, emotions, and thinking. Multimed Tools Appl 78, 33113–33149 (2019). https://doi.org/10.1007/s11042-019-07748-1

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11042-019-07748-1

Keywords

Navigation