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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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)
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)
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)
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)
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)
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)
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)
D’Ambros, M., Lanza, M., Lungu, M.: Visualizing Co-Change Information with the Evolution Radar. IEEE Trans. Softw. Eng. 35(5), 720–735 (2009)
Diehl, S.: Software Visualization - Visualizing the Structure, Behavior and Evolution of Software. Springer (2007)
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)
Erlikh, L.: Leveraging legacy system dollars for e-business. IEEE IT Pro., 17–23 (2000)
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)
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)
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)
IEEE Std. 1219: Standard for Software Maintenance. IEEE Computer Society Press, Los Alamitos CA (1993)
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)
Keim, D.A.: Information visualization and visual data mining. IEEE Transactions on Visualization and Computer Graphics 7(1), 100–107 (2002)
Koschke, R.: Software visualization in software maintenance, reverse engineering, and reengineering: a research survey. Journal of Software Maintenance 15(2), 87–109 (2003)
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)
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)
Lanza, M., Ducasse, S.: Polymetric Views - A Lightweight Visual Approach to Reverse Engineering. IEEE Trans. Softw. Eng. 29(9), 782–795 (2003)
Lanza, M., Marinescu, R., Ducasse, S.: Object-Oriented Metrics in Practice. Springer-Verlag New York, Inc. (2005)
Lehman, M.M.: On Understanding Laws, Evolution, and Conservation in the Large-Program Life Cycle. Journal of Systems and Software 1, 213–221 (1980)
Mazza, R.: Introduction to Information Visualization. Springer, London (2009)
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)
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)
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)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)