The Code-Map Metaphor - A Review of Its Use Within Software Visualisations

Ivan Bacher, Brian Mac Namee, John Kelleher

2017

Abstract

Software developers can use software visualisations employing the code-map metaphor to discover and correlate facts spread over a large code base. This work presents an extensive review of the use of the code-map metaphor for software visualisation. The review analyses a set of 29 publications, which together describe 21 software development tools that use visualisations employing the code-map metaphor. The review follows a task oriented framework to guide the analysis of the literature in terms of the task, audience, target, medium, representation, and evidence dimensions based on the code- map metaphor. Although the literature indicates that software visualisations based on the code-map metaphor are perceived by the research community to be helpful across all aspects of the software develop process, the main finding of our review is that there is a lack of quantitative evidence to support this perception. Thus, the effectiveness of visualisations incorporating the code-map metaphor is still unclear. The majority of the software visualisations analysed in this study, however, do provide qualitative observations regarding their usage in various scenarios. These are summarised and presented in this review as we believe the observations can be used as motivation for future empirical evaluations.

References

  1. Ball, T. and Eick, S. (1996). Software visualization in the large. Computer, 29(4).
  2. Ball, T. and Eick, S. G. (1994).
  3. Visualizing program slices. Visual Languages, 1994. Proceedings., IEEE . . . , (October):288-295.
  4. Bragdon, A., Reiss, S. P., Zeleznik, R., Karumuri, S., Cheung, W., Kaplan, J., Coleman, C., Adeputra, F., and LaViola, J. J. (2010). Code bubbles: rethinking the user interface paradigm of integrated development environments. 2010 ACM/IEEE 32nd International Conference on Software Engineering, 1:455-464.
  5. Caserta, P. and Zendra, O. (2011). Visualization of the static aspects of software: A survey. IEEE Transactions on Visualization and Computer Graphics, 17(7):913- 933.
  6. De Line, R., Czerwinski, M., Meyers, B., Venolia, G., Drucker, S., and Robertson, G. (2006). Code Thumbnails: Using spatial memory to navigate source code. Proceedings - IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2006, pages 11-18.
  7. Diehl, S. (2007). Software visualization: Visualizing the structure, behaviour, and evolution of software.
  8. Ducasse, S., Lanza, M., and Robbes, R. (2005). Multi-level method understanding using microprints. In Proceedings - VISSOFT 2005: 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis, pages 33-38.
  9. Eick, S. G., Steffen, J. L., and Sumner, E. E. J. (1992). SeeSoft: A tool for visualizing line-oriented software statistics. IEEE Transactions on Software Engineering, 18(11):957-968.
  10. Froehlich, J. and Dourish, P. (2004). Unifying Artifacts and Activities in a Visual Tool for Distributed Software Development Teams. In Proceedings of the 26th International Conference on Software Engineering, pages 387-396. IEEE Computer Society.
  11. Ghanam, Y. and Carpendale, S. (2008). A survey paper on software architecture visualization. University of Calgary, Tech. Rep.
  12. Griswold, W. G., Yuan, J. J., and Kato, Y. (2001). Exploiting the map metaphor in a tool for software evolution. Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001, (March):265-274.
  13. Hannemann, J. and Kiczales, G. (2001). Overcoming the Prevalent Decomposition of Legacy Code. In Workshop on Advanced Separation of Concerns, 167(May).
  14. Islam, S. S., Krinke, J., and Binkley, D. (2010). Dependence cluster visualization. In Proceedings of the 5th international symposium on Software visualization, pages 93-102.
  15. Jones, J., Harrold, M. J., and Stasko, J. (2002). Visualization of test information to assist fault localization. Proceedings of 24th International Conference on Software Engineering, pages 467-477.
  16. Kitchenham, B. and Charters, S. (2007). Guidelines for performing Systematic Literature reviews in Software Engineering Version 2.3. Engineering, 45(4ve):1051.
  17. Laplante, P. A. (2007). What every engineer should know about software engineering.
  18. Lommerse, G., Nossin, F., Voinea, L., and Telea, A. (2005). The Visual Code Navigator: An interactive toolset for source code investigation. Proceedings - IEEE Symposium on Information Visualization, INFO VIS, pages 25-32.
  19. Maletic, J. I., Marcus, A., and Collard, M. L. (2002). A Task Oriented View of Software Visualization. In Proceedings - 1st International Workshop on Visualizing Software for Understanding and Analysis, VISSOFT 2002.
  20. Maletic, J. I., Marcus, A., and Feng, L. (2003). Source viewer 3D (sv3D): a framework for software visualization. In Proceedings of the 25th International Conference on Software Engineering, pages 812-813.
  21. Maletic, J. I., Mosora, D. J., Newman, C. D., Collard, M. L., Sutton, A., and Robinson, B. P. (2011). MosaiCode: Visualizing large scale software - A tool demonstration. In Proceedings of VISSOFT 2011 - 6th IEEE International Workshop on Visualizing Software for Understanding and Analysis, pages 1-4.
  22. Marcus, A., Feng, L., and Maletic, J. (2003a). 3D representations for software visualization. In Proceedings of the 1st ACM symposium on Software visuallization, pages 27-36.
  23. Marcus, A., Feng, L., and Maletic, J. I. (2003b). Comprehension of software analysis data using 3D visualization. Program Comprehension, 2003. 11th IEEE International Workshop on, pages 105-114.
  24. Müller, R. and Zeckzer, D. (2015). Past, Present, and Future of 3D Software Visualization - A Systematic Literature Analysis. Proceedings of the 6th International Conference on Information Visualization Theory and Applications, pages 63-74.
  25. Munzner, T. and Maguire, E. (2015). Visualization analysis & design.
  26. Nielsen, J. (2000). Why you only need to test with 5 users.
  27. Nielsen, J. (2006). Quantitative studies: How many users to test.
  28. Nielsen, J. (2012). Thinking aloud: The # 1 usability tool.
  29. O'Reilly, C., Bustard, D., and Morrow, P. (2005). The war room command console: shared visualizations for inclusive team coordination. In Proceedings of the 2nd ACM symposium on Software visuallization, volume St. Louis,, pages 57-65.
  30. Orso, A., Jones, J., Harrold, M. J., and Stasko, J. (2004). GAMMATELLA: visualization of program-execution data for deployed software. In Proceedings of the 1st ACM symposium on Software visuallization, pages 699-700.
  31. Petre, M. and Quincey, E. D. (2006). A gentle overview of software visualisation. PPIG News Letter, (September):1 - 10.
  32. Reddy, N. H., Kim, J., Palepu, V. K., and Jones, J. A. (2015). SPIDER SENSE: Software-engineering, networked, system evaluation. In 2015 IEEE 3rd Working Conference on Software Visualization, VISSOFT 2015 - Proceedings, number 1, pages 205-209.
  33. Reiss, S. (2001a). Bee/hive: A software visualization back end. IEEE Workshop on Software Visualization, pages 1-5.
  34. Reiss, S. P. (1999). Almost : Exploring Program Traces. In NPIVM, pages 70-77.
  35. Reiss, S. P. (2001b). An overview of BLOOM. Proc. 2001 ACM SIGPLAN-SIGSOFT Work. Progr. Anal. Softw. tools Eng. - PASTE 7801, pages 2-5.
  36. Reiss, S. P. and Tarvo, A. (2013). Tool demonstration: The visualizations of code bubbles. In 2013 1st IEEE Working Conference on Software Visualization - Proceedings of VISSOFT 2013.
  37. Robbes, R., Ducasse, S., and Lanza, M. (2005). Microprints: A Pixel-based Semantically Rich Visualization of Methods. In Proceedings of 13th International Smalltalk Conference (ISC'05), number August 2005, pages 131-157.
  38. Schots, M. and Werner, C. (2014). Using a task-oriented framework to characterize visualization approaches. In Proceedings - 2nd IEEE Working Conference on Software Visualization, VISSOFT 2014, pages 70-74.
  39. Servant, F. and Jones, J. A. (2013). Chronos: Visualizing slices of source-code history. In 2013 1st IEEE Working Conference on Software Visualization - Proceedings of VISSOFT 2013.
  40. Shahin, M., Liang, P., and Babar, M. A. (2014). A systematic review of software architecture visualization techniques. Journal of Systems and Software, 94:161-185.
  41. Sharafi, Z. (2011). A Systematic Analysis of Software Architecture Visualization Techniques. 2011 19th IEEE International Conference on Program Comprehension, pages 254-257.
  42. Shonle, M., Neddenriep, J., and Griswold, W. (2004). Aspect Browser for Eclipse. Proceedings of the 2004 OOPSLA workshop on eclipse technology eXchange - eclipse 7804, pages 78-82.
  43. Telea, A. and Voinea, L. (2008). An interactive reverse engineering environment for large-scale C++ code. In Proceedings of the 4th ACM symposium on Software visuallization, pages 67-76.
  44. Telea, A. C. (2015). Data Visualization: Principles and Practice.
  45. Teyseyre, A. R. and Campo, M. R. (2009). An Overview of 3D Software Visualization. IEEE Transactions on Visualization and Computer Graphics, 15(1):87-105.
  46. Voinea, L., Telea, A., and van Wijk, J. J. (2005). CVSscan: visualization of code evolution. In Proceedings of the 2nd ACM symposium on Software visuallization, volume 1, pages 47-56.
  47. Ward, M., Grinstein, G., and Keim, D. (2015). Interactive Data Visualization. Foundations, Techniques, and Applications.
  48. Xie, X., Poshyvanyk, D., and Marcus, A. (2005). Support for static concept location with sv3D. In Proceedings - VISSOFT 2005: 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis, pages 102-107.
Download


Paper Citation


in Harvard Style

Bacher I., Mac Namee B. and Kelleher J. (2017). The Code-Map Metaphor - A Review of Its Use Within Software Visualisations . In Proceedings of the 12th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications - Volume 3: IVAPP, (VISIGRAPP 2017) ISBN 978-989-758-228-8, pages 17-28. DOI: 10.5220/0006072300170028


in Bibtex Style

@conference{ivapp17,
author={Ivan Bacher and Brian Mac Namee and John Kelleher},
title={The Code-Map Metaphor - A Review of Its Use Within Software Visualisations},
booktitle={Proceedings of the 12th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications - Volume 3: IVAPP, (VISIGRAPP 2017)},
year={2017},
pages={17-28},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0006072300170028},
isbn={978-989-758-228-8},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 12th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications - Volume 3: IVAPP, (VISIGRAPP 2017)
TI - The Code-Map Metaphor - A Review of Its Use Within Software Visualisations
SN - 978-989-758-228-8
AU - Bacher I.
AU - Mac Namee B.
AU - Kelleher J.
PY - 2017
SP - 17
EP - 28
DO - 10.5220/0006072300170028