Skip to main content

On the Use of Software Visualization to Analyze Software Evolution: An Interactive Differential Approach

  • Conference paper

Part of the book series: Lecture Notes in Business Information Processing ((LNBIP,volume 102))

Abstract

Software evolution is one of the most important topics in modern software engineering research. This activity requires the analysis of large amounts of data describing the current software system structure as well as its previous history. Software visualization can be helpful in this scenario, as it can summarize this complex data into easy to interpret visual scenarios. This paper presents an interactive differential approach for visualizing software evolution. The approach builds multi-view structural descriptions of a software system directly from its source code, and uses colors to differentiate it from any other previous version. This differential approach is highly interactive allowing the user to quickly brush over many pairs of versions of the system. As a proof of concept, we used the approach to analyze eight versions of an open source system and found out it was useful to quickly identify hot spot and code smell candidates in them.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bennett, K.H., Rajlich, V.T.: Software maintenance and evolution: a roadmap. In: Proc. of the Conference on The Future of Software Engineering (ICSE 2000), pp. 73–87. ACM, New York (2000)

    Chapter  Google Scholar 

  2. Beyer, D., Hassan, A.E.: Animated Visualization of Software History using Evolution Storyboards. In: Proc. of the 13th Working Conference on Reverse Engineering, WCRE, pp. 199–210. IEEE Computer Society, Washington, DC (2006)

    Google Scholar 

  3. de F. Carneiro, G., Sant’Anna, C.N., Garcia, A.F., von F.G. Chavez, C., Mendonça, M.G.: On the Use of Software Visualization to Support Concern Modularization Analysis. In: Proc. of the 3rd Workshop on Assessment of Contemporary Modularization Techniques, Co-located with OOPSLA, Florida, USA (2009)

    Google Scholar 

  4. de F. Carneiro, G., Silva, M., Mara, L., Figueiredo, E., Sant’Anna, C., Garcia, A., Mendonça, M.: Identifying Code Smells with Multiple Concern Views. In: Soft. Eng. Brazilian Symposium, pp. 128–137 (2010a)

    Google Scholar 

  5. de F. Carneiro, G., Sant’Anna, C., Mendonça, M.: On the Design of a Multi-Perspective Visualization Environment to Enhance Software Comprehension Activities. In: Proc. of the VII Workshop on Modern Software Maintenance, Co-located with SBQS (2010b)

    Google Scholar 

  6. Collberg, C., Kobourov, S., Nagra, J., Pitts, J., Wampler, K.: A system for graph-based visualization of the evolution of software. In: Proc. of the 2003 ACM Symposium on Software Visualization, SoftVis 2003, pp. 77–86. ACM, New York (2003)

    Chapter  Google Scholar 

  7. Silva, L.M., Dantas, F., Honorato, G., Garcia, A., Lucena, C.: Detecting Modularity Flaws of Evolving Code: What the History Can Reveal? In: Proc. of the 4th Brazilian Symposium Software Components, Architectures and Reuse, SBCARS (2010)

    Google Scholar 

  8. D’Ambros, M., Lanza, M., Lungu, M.: Visualizing Co-Change Information with the Evolution Radar. IEEE Trans. Softw. Eng. 35(5), 720–735 (2009)

    Article  Google Scholar 

  9. Diehl, S.: Software Visualization - Visualizing the Structure, Behavior and Evolution of Software. Springer (2007)

    Google Scholar 

  10. Eick, S.G., Graves, T.L., Karr, A.F., Marron, J.S., Mockus, A.: Does Code Decay? Assessing the Evidence from Change Management Data. IEEE Trans. Softw. Eng. 27(1), 1–12 (2001)

    Article  Google Scholar 

  11. Erlikh, L.: Leveraging legacy system dollars for e-business. IEEE IT Pro., 17–23 (2000)

    Google Scholar 

  12. Ferreira de Oliveira, M.C., Levkowitz, H.: From visual data exploration to visual data mining: a survey. IEEE Transactions on Visualization and Computer Graphics 9(3), 378–394 (2003)

    Article  Google Scholar 

  13. Fjeldstad, R., Hamlen, W.: Application program maintenance: Report to our respondents. In: Parikh, G., Zvegintzov, N. (eds.) Tutorial on Software Maintenance, pp. 13–27. IEEE Computer Soc. Press (1983)

    Google Scholar 

  14. Gonzalez, A., Theron, R., Telea, A., Garcia, F.J.: Combined visualization of structural and metric information for software evolution analysis. In: Proc. of the Joint international and Annual ERCIM Workshops on Principles of Software Evolution (Iwpse) and Software Evolution (Evol) Workshops, IWPSE-Evol 2009, pp. 25–30. ACM, New York (2009)

    Chapter  Google Scholar 

  15. IEEE Std. 1219: Standard for Software Maintenance. IEEE Computer Society Press, Los Alamitos CA (1993)

    Google Scholar 

  16. Johnson, B., Shneiderman, B.: Tree-Maps: a space-filling approach to the visualization of hierarchical information structures. In: Nielson, G.M., Rosenblum, L. (eds.) Proc. of the 2nd Conference on Visualization 1991, pp. 284–291 (1991)

    Google Scholar 

  17. Keim, D.A.: Information visualization and visual data mining. IEEE Transactions on Visualization and Computer Graphics 7(1), 100–107 (2002)

    Google Scholar 

  18. Koschke, R.: Software visualization in software maintenance, reverse engineering, and reengineering: a research survey. Journal of Software Maintenance 15(2), 87–109 (2003)

    Article  Google Scholar 

  19. Langelier, G., Sahraoui, H., Poulin, P.: Exploring the evolution of software quality with animated visualization. In: Proc. of the 2008 IEEE Symposium on Visual Languages and Human-Centric Computing, VLHCC, Washington, DC, pp. 13–20 (2008)

    Google Scholar 

  20. Lanza, M.: The evolution matrix: recovering software evolution using software visualization techniques. In: Proc. of the 4th International Workshop on Principles of Software Evolution, IWPSE 2001, pp. 37–42. ACM, New York (2001)

    Google Scholar 

  21. Lanza, M., Ducasse, S.: Polymetric Views - A Lightweight Visual Approach to Reverse Engineering. IEEE Trans. Softw. Eng. 29(9), 782–795 (2003)

    Article  Google Scholar 

  22. Lanza, M., Marinescu, R., Ducasse, S.: Object-Oriented Metrics in Practice. Springer-Verlag New York, Inc. (2005)

    Google Scholar 

  23. Lehman, M.M.: On Understanding Laws, Evolution, and Conservation in the Large-Program Life Cycle. Journal of Systems and Software 1, 213–221 (1980)

    Article  Google Scholar 

  24. Mazza, R.: Introduction to Information Visualization. Springer, London (2009)

    Google Scholar 

  25. Ratzinger, J., Fischer, M., Gall, H.: EvoLens: Lens-view visualizations of evolution data. In: Proc. of the Int. Workshop on Principles of Software Evolution, pp. 103–112. IEEE Comp. Soc. (2005)

    Google Scholar 

  26. Ripley, R.M., Sarma, A., van der Hoek, A.: A Visualization for Software Project Awareness and Evolution. In: 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis, VISSOFT 2007, June 24-25, pp. 137–144 (2007)

    Google Scholar 

  27. Roman, G.-C., Cox, K.C.: Program visualization: the art of mapping programs to pictures. In: Proc. of the 14th ICSE. ACM, New York (1992)

    Google Scholar 

  28. Voinea, L., Telea, A.: An open framework for CVS repository querying, analysis and visualization. In: Proc. of the MSR 2006, pp. 33–39. ACM, New York (2006a)

    Chapter  Google Scholar 

  29. Voinea, L., Telea, A.: Multiscale and multivariate visualizations of software evolution. In: Proc. of the 2006 ACM Symposium on Software Visualization, Brighton, United Kingdom (2006b)

    Google Scholar 

  30. Wu, J., Holt, R.C., Hassan, A.E.: Exploring Software Evolution Using Spectrographs. In: Proc. of the 11th Working Conference on Reverse Engineering, WCRE, pp. 80–89. IEEE Computer Society, Washington, DC (2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Novais, R.L., de F. Carneiro, G., Simões Júnior, P.R.M., Mendonça, M.G. (2012). On the Use of Software Visualization to Analyze Software Evolution: An Interactive Differential Approach. In: Zhang, R., Zhang, J., Zhang, Z., Filipe, J., Cordeiro, J. (eds) Enterprise Information Systems. ICEIS 2011. Lecture Notes in Business Information Processing, vol 102. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-29958-2_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-29958-2_16

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-29957-5

  • Online ISBN: 978-3-642-29958-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics