eCITY: Evolutionary Software Architecture Visualization – An Evaluation

  • Taimur Khan
  • Henning Barthel
  • Liliana Guzman
  • Achim Ebert
  • Peter Liggesmeyer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8345)

Abstract

An essential component in the evolution and maintenance of large-scale software systems is to track the structure of a software system to explain how a system has evolved to its present state and to predict its future development. Current mainstream tools facilitating the structural evolution of software architecture by visualization are confined with easy to integrate visualization techniques such as node-link diagrams, while more applicable solutions have been proposed in academic research. To bridge this gap, we have incorporated additional views to a conventional tool that integrates an interactive evolving city layout and a combination of charts. However, due to a limited access to the stakeholders it was not possible to solicit them for a formal modeling process. Instead, an early prototype was developed and a controlled experiment was conducted to illustrate the vital role of such in-situ visualization techniques when aiming to understanding the evolution of software architecture.

Keywords

Software architecture visualization Software comprehension Software evolution Experiment 

References

  1. 1.
    Lehman, M.M., Belady, L.A. (eds.): Program Evolution: Processes of Software Change. Academic Press Professional Inc., San Diego (1985)Google Scholar
  2. 2.
    D’Ambros, M., Lanza, M.: Visual software evolution reconstruction. J. Softw. Maint. Evol. 21, 217–232 (2009)CrossRefGoogle Scholar
  3. 3.
    Petre, M., Quincey, E.: A gentle overview of software visualization. PPIG News Letter, 1–10 (September 2006)Google Scholar
  4. 4.
    Steinbrückner, F., Lewerentz, C.: Representing development history in software cities. In: Proceedings of the 5th International Symposium on Software Visualization, SOFTVIS ’10, pp. 193–202. ACM, New York (2010)Google Scholar
  5. 5.
    D’Ambros, M., Lanza, M.: Reverse engineering with logical coupling. In: Proceedings of the 13th Working Conference on Reverse Engineering, pp. 189–198. IEEE Computer Society, Washington, DC (2006)Google Scholar
  6. 6.
    Ghanam, Y., Carpendale, S.: A survey paper on software architecture visualization. Technical report, University of Calgary, pp. 1–10, June 2008Google Scholar
  7. 7.
    Telea, A., Voinea, L., Sassenburg, H.: Visual tools for software architecture understanding: a stakeholder perspective. IEEE Softw. 27, 46–53 (2010)CrossRefGoogle Scholar
  8. 8.
    Khan, T., Barthel, H., Ebert, A., Liggesmeyer, P.: Visualization and evolution of software architectures. In: Garth, C., Middel, A., Hagen, H. (eds.) Visualization of Large and Unstructured Data Sets: Applications in Geospatial Planning, Modeling and Engineering - Proceedings of IRTG 1131 Workshop 2011. OpenAccess Series in Informatics (OASIcs), vol. 27, pp. 25–42. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, Dagstuhl (2012)Google Scholar
  9. 9.
    Knodel, J., Muthig, D., Naab, M., Lindvall, M.: Static evaluation of software architectures. In: Proceedings of the Conference on Software Maintenance and Reengineering, CSMR ’06, pp. 279–294. IEEE Computer Society, Washington, DC (2006)Google Scholar
  10. 10.
    Eick, S.G., Steffen, J.L., Sumner Jr, E.E.: Seesoft - a tool for visualizing line oriented software statistics. In: Card, S.K., Mackinlay, J.D., Shneiderman, B. (eds.) Readings in Information Visualization, pp. 419–430. Morgan Kaufmann Publishers Inc., San Francisco (1999)Google Scholar
  11. 11.
    Telea, A., Auber, D.: Code flows: visualizing structural evolution of source code. Comput. Graph. Forum 27(3), 831–838 (2008)CrossRefGoogle Scholar
  12. 12.
    Voinea, L., Telea, A., Chaudron, M.R.V.: Version-centric visualization of code evolution. In: Brodlie, K., Duke, D.J., Joy, K.I. (eds.): EuroVis, pp. 223–230. Eurographics Association (2005)Google Scholar
  13. 13.
    Holten, D., van Wijk, J.J.: Visual comparison of hierarchically organized data. Comput. Graph. Forum 27(3), 759–766 (2008)CrossRefGoogle Scholar
  14. 14.
    Collberg, C., Kobourov, S., Nagra, J., Pitts, J., Wampler, K.: A system for graph-based visualization of the evolution of software. In: Proceedings of the 2003 ACM Symposium on Software Visualization, SoftVis ’03, pp. 77–86. ACM, New York (2003)Google Scholar
  15. 15.
    Eick, S.G., Graves, T.L., Karr, A.F., Mockus, A., Schuster, P.: Visualizing software changes. IEEE Trans. Softw. Eng. 28(4), 396–412 (2002)CrossRefGoogle Scholar
  16. 16.
    Venkatesh, V., Morris, M.G., Davis, G.B., Davis, F.D.: User acceptance of information technology: toward a unified view. MIS Q. 27(3), 425–478 (2003)Google Scholar
  17. 17.
    Nestler, S., Artinger, E., Coskun, T., Yildirim, Y., Schumann, S., Maehler, M., Wucholt, F., Strohschneider, S., Klinker, G.: Assessing qualitative usability in life-threatening, time-critical and unstable situations. GMS Med. Inform. Biom. Epidemiol., 7(1) (2011)Google Scholar
  18. 18.
    Knodel, J., Muthig, D., Naab, M.: An experiment on the role of graphical elements in architecture visualization. Empirical Softw. Eng. 13(6), 693–726 (2008)CrossRefGoogle Scholar
  19. 19.
    Hedges, L., Olkin, I.: Statistical Method for Meta-Analysis. Academic Press, New York (1985)Google Scholar
  20. 20.
    Cohen, J.: A power primer. Psychol. Bull. 112, 155–159 (1992)CrossRefGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2014

Authors and Affiliations

  • Taimur Khan
    • 1
  • Henning Barthel
    • 2
  • Liliana Guzman
    • 2
  • Achim Ebert
    • 1
  • Peter Liggesmeyer
    • 1
  1. 1.Computer Graphics and HCI GroupUniversity of KaiserslauternKaiserslauternGermany
  2. 2.Fraunhofer IESEKaiserslauternGermany

Personalised recommendations