Skip to main content

EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution

  • Chapter
Human Machine Interaction

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5440))

Abstract

In software development, a major difficulty comes from the intrinsic complexity of software systems and the size of which can easily reach millions of lines of source code. But software is an intangible artifact that does not have any natural visual representation. While many software visualization techniques have been proposed in the literature, they are often difficult to interpret. In fact, the user of such representations is confronted with an artificial world that contains and represents intangible objects. The goal of our EvoSpaces project was to investigate effective visual metaphors (i.e., analogies) between natural objects and software objects so that we can exploit the cognitive understanding of the user. The difficulty of this approach is that the common sense expectations about the displayed world should also apply to the world of software objects. To solve this common sense representation problem for software objects our project addressed both the small-scale (i.e., the level of individual objects) and the large-scale (i.e., the level of groups of objects). After many experiments we decided for a ”city” metaphor: at the small scale we include different houses and their shapes as visual objects to cover size, structure and history. At the large-scale level we arrange the different types of houses in districts and include their history in diverse layouts. The user then is able to use the EvoSpaces virtual software city to navigate and explore all kinds of aspects of a city and its houses: size, age, historical evolution, changes, growth, restructurings, and evolution patterns such as code smells or architectural decay. For that we have developed a software environment named EvoSpaces as a plug-in to Eclipse so that visual metaphors can quickly be implemented in an easily navigable virtual space. Due to the large amount of information we complemented the flat 2D world with full-fledged immersive 3D representation. In this virtual software city, the dimensions and appearance of the buildings can be set according to software metrics. The user of the EvoSpaces environment can then explore a given software system by navigating through the corresponding virtual software city.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Erlikh, L.: Leveraging legacy system dollars for e-business. IT Professional 2, 17–23 (2000)

    Article  Google Scholar 

  2. Zelkowitz, M., Shaw, A., Gannon, J.: Principles of Software Engineering and Design. Prentice-Hall, Englewood Cliffs (1979)

    MATH  Google Scholar 

  3. Pinzger, M., Gall, H., Fischer, M., Lanza, M.: Visualizing multiple evolution metrics. In: Proc. ACM Symp. on Softw. Visualization, pp. 67–75 (2005)

    Google Scholar 

  4. Lanza, M., Ducasse, S.: Polymetric views — a lightweight visual approach to reverse engineering. IEEE Trans. on Softw. Eng. 29, 782–795 (2003)

    Article  Google Scholar 

  5. Pinzger, M.: ArchView - Analyzing Evolutionary Aspects of Complex Software Systems. Vienna University of Technology (2005)

    Google Scholar 

  6. McCabe, T.J.: A complexity measure. IEEE Trans. on Softw. Eng. 2 (1976)

    Google Scholar 

  7. Halstead, M.H.: Elements of software science, operating and programming system series. 7, Elsevier, Amsterdam (1977)

    MATH  Google Scholar 

  8. Fanea, E., Carpendale, S., Isenberg, T.: An interactive 3d integration of parallel coordinates and star glyphs. In: IEEE Symp. on Info. Visualization, 149–156 (2005)

    Google Scholar 

  9. Lanza, M., Marinescu, R.: Object-Oriented Metrics in Practice. Springer, Heidelberg (2006)

    MATH  Google Scholar 

  10. Wettel, R., Lanza, M.: Visualizing software systems as cities. In: Proceedings of VISSOFT 2007 (4th IEEE International Workshop on Visualizing Software For Understanding and Analysis), pp. 92–99 (2007)

    Google Scholar 

  11. Knight, C., Munro, M.C.: Virtual but visible software. In: International Conference on Information Visualisation, pp. 198–205 (2000)

    Google Scholar 

  12. Charters, S.M., Knight, C., Thomas, N., Munro, M.: Visualisation for informed decision making; from code to components. In: International Conference on Software Engineering and Knowledge Engineering (SEKE 2002), pp. 765–772. ACM Press, New York (2002)

    Google Scholar 

  13. Marcus, A., Feng, L., Maletic, J.I.: 3d representations for software visualization. In: Proceedings of the ACM Symposium on Software Visualization, pp. 27–36. IEEE, Los Alamitos (2003)

    Google Scholar 

  14. Balzer, M., Noack, A., Deussen, O., Lewerentz, C.: Software landscapes: Visualizing the structure of large software systems. In: VisSym, Symposium on Visualization, Eurographics Association, pp. 261–266 (2004)

    Google Scholar 

  15. Langelier, G., Sahraoui, H.A., Poulin, P.: Visualization-based analysis of quality for large-scale software systems. In: Proceedings of 20th IEEE/ACM International Conference on Automated Software Engineering (ASE 2005), pp. 214–223. ACM, New York (2005)

    Google Scholar 

  16. Panas, T., Epperly, T., Quinlan, D., Saebjornsen, A., Vuduc, R.: Communicating software architecture using a unified single-view visualization. In: Proceedings of ICECCS 2007 (12th IEEE International Conference on Engineering Complex Computer Systems), pp. 217–228 (2007)

    Google Scholar 

  17. Wettel, R., Lanza, M.: Program comprehension through software habitability. In: Proceedings of ICPC 2007 (15th International Conference on Program Comprehension), pp. 231–240 (2007)

    Google Scholar 

  18. Wettel, R., Lanza, M.: Codecity: 3d visualization of large-scale software. In: ICSE Companion 2008: Companion of the 30th International Conference on Software Engineering, pp. 921–922. ACM, New York (2008)

    Google Scholar 

  19. Riel, A.: Object-Oriented Design Heuristics. Addison-Wesley, Reading (1996)

    Google Scholar 

  20. Few, S.: Show me the numbers: Designing Tables and Graphs to Enlighten. Analytics Press (2004)

    Google Scholar 

  21. Tukey, J.W.: Exploratory Data Analysis. Addison-Wesley, Reading (1977)

    MATH  Google Scholar 

  22. Triola, M.: Elementary Statistics. Addison-Wesley, Reading (2006)

    MATH  Google Scholar 

  23. Shneiderman, B.: Tree visualization with tree-maps: 2-d space-filling approach. ACM Trans. Graph. 11, 92–99 (1992)

    Article  MATH  Google Scholar 

  24. Bentley, J.L.: Multidimensional binary search trees used for associative searching. Commun. ACM 18, 509–517 (1975)

    Article  MATH  Google Scholar 

  25. Dugerdil, P.: Using trace sampling techniques to identify dynamic clusters of classes. In: Proc. of the IBM CAS Software and Systems Engineering Symposium (CASCON) (2007)

    Google Scholar 

  26. Hamou-Lhadj, A., Lethbridge, T.: Summarizing the content of large traces to facilitate the understanding of the behavior of a software system. In: Proc. of the IEEE Int. Conf. on Program Comprehension (ICPC 2006) (2006)

    Google Scholar 

  27. Hamou-Lhadj, A., Lethbridge, T.: Compression techniques to simplify the analysis of large execution traces. In: Proc. of the IEEE Workshop on Program Comprehension (IWPC) (2002)

    Google Scholar 

  28. Pauw, W.D., Lorenz, D., Vlissides, J., Wegman, M.: Execution patterns in object-oriented visualization. In: Proc. of the USENIX Conf. on Object-Oriented Technologies and Systems (COOTS) (1998)

    Google Scholar 

  29. Dugerdil, P., Alam, S.: Execution trace visualization in a 3d space. In: Proc. of ITNG 2008 (5th International Conference on Information Technology: New Generations) (2008)

    Google Scholar 

  30. Ball, T.: The concept of dynamic analysis. In: Proc. 7th European Software Engineering Conf. (ESEC 1999) (1999)

    Google Scholar 

  31. Dugerdil, P., Alam, S.: Evospaces: 3d visualization of software architecture. In: 19th International Conference on Software Engineering and Knowledge Engineering (SEKE 2007), Boston (2007)

    Google Scholar 

  32. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Elements of Reusable Object Oriented Software. Addison-Wesley Inc., Reading (1995)

    MATH  Google Scholar 

  33. Demeyer, S., Tichelaar, S., Ducasse, S.: Famix 2.1 — the famoos information exchange model. Technical report, University of Bern (2001)

    Google Scholar 

  34. Sun: Java binding for opengl (jogl), https://jogl.dev.java.net

  35. Boccuzzo, S., Gall, H.C.: Cocoviz: Supported cognitive software visualization. In: Proc. Working Conf. on Reverse Eng. (2007)

    Google Scholar 

  36. Boccuzzo, S., Gall, H.C.: Cocoviz: Towards cognitive software visualization. In: Proc. IEEE Int’l Workshop on Visualizing Softw. for Understanding and Analysis (2007)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Alam, S., Boccuzzo, S., Wettel, R., Dugerdil, P., Gall, H., Lanza, M. (2009). EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution. In: Lalanne, D., Kohlas, J. (eds) Human Machine Interaction. Lecture Notes in Computer Science, vol 5440. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-00437-7_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-00437-7_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-00436-0

  • Online ISBN: 978-3-642-00437-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics