ON THE USE OF SOFTWARE VISUALIZATION TO ANALYZE SOFTWARE EVOLUTION - An Interactive Differential Approach

Renato Lima Novais, Glauco de F. Carneiro, Paulo R. M. Simões Júnior, Manoel Gomes Mendonça

2011

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 a 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.

References

  1. Bennett, K. H., and Rajlich, V. T. (2000). Software maintenance and evolution: a roadmap. In Proc. of the Conference on The Future of Software Engineering (ICSE 7800). ACM, New York, NY, USA, 73-87.
  2. Beyer, D., Hassan, A. E. (2006). Animated Visualization of Software History using Evolution Storyboards. In Proc. of the 13th Working Conference on Reverse Engineering. WCRE. IEEE Computer Society, Washington, DC, 199-210
  3. Carneiro, G. de F., SantAnna, C. N., Garcia, A. F., Chavez, C. von F. G., and Mendonça, M. G. (2009). On the Use of Software Visualization to Support Concern Modularization Analysis. Proc. of the 3rd Workshop on Assessment of Contemporary Modularization Techniques, Co-located with OOPSLA, Florida, USA.
  4. Carneiro, G. de F., Silva, M., Mara, L., Figueiredo, E., Sant'Anna, C., Garcia, and A., Mendonça, M. (2010a). Identifying Code Smells with Multiple Concern Views. Soft. Eng. Brazilian Symposium, vol., no., pp.128-137.
  5. Carneiro, G. de F., SantAnna, C., and Mendonça, M. (2010b). On the Design of a Multi-Perspective Visualization Environment to Enhance Software Comprehension Activities. Proc. of the VII Workshop on Modern Software Maintenance, Co-located with SBQS.
  6. Collberg, C., Kobourov, S., Nagra, J., Pitts, J., and Wampler, K. (2003). A system for graph-based visualization of the evolution of software. In Proc. of the 2003 ACM Symposium on Software Visualization. SoftVis 7803. ACM, New York, NY, 77-ff
  7. Silva, L.M., Dantas, F., Honorato, G., Garcia, A., Lucena, C. (2010). Detecting Modularity Flaws of Evolving Code: What the History Can Reveal? Proc. of the 4th Brazilian Symposium Software Components, Architectures and Reuse (SBCARS).
  8. D'Ambros, M., Lanza, M., and Lungu, M. (2009). Visualizing Co-Change Information with the Evolution Radar. IEEE Trans. Softw. Eng. 35, 5, 720-735.
  9. Diehl, S. (2007). Software Visualization - Visualizing the Structure, Behavior and Evolution of Software, Springer Verlag
  10. Eick, S. G., Graves, T. L., Karr, A. F., Marron, J. S., and Mockus, A. (2001). Does Code Decay? Assessing the Evidence from Change Management Data. IEEE Trans. Softw. Eng. 27, 1, 1-12
  11. Erlikh, L. (2000). Leveraging legacy system dollars for ebusiness. IEEE IT Pro, pages 17-23
  12. Ferreira de Oliveira, M.C., Levkowitz, H. (2003). From visual data exploration to visual data mining: a survey. IEEE Transactions on Visualization and Computer Graphics, vol.9, no.3, pp. 378- 394
  13. Fjeldstad, R., Hamlen, W. (1983). Application program maintenance: Report to our respondents. Tutorial on Software Maintenance, Parikh, G. & Zvegintzov, N. (Eds.). IEEE Computer Soc. Press. pages 13-27.
  14. Gonzalez, A., Theron, R., Telea, A., and Garcia, F. J. (2009). 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 7809. ACM, New York, NY, 25-30
  15. IEEE Std. 1219: Standard for Software Maintenance. Los Alamitos CA., USA. IEEE Computer Society Press, 1993.
  16. Johnson, B. Shneiderman, B. (1991). Tree-Maps: a spacefilling approach to the visualization of hierarchical information structures. In Proc. of the 2nd conference on Visualization 7891, Gregory M. Nielson and Larry Rosenblum (Eds.), 284-291.
  17. Keim, D. A. (2002). Information visualization and visual data mining. IEEE Transactions on Visualization and Computer Graphics, 7(1):100-107
  18. Koschke, R. (2003). Software visualization in software maintenance, reverse engineering, and re-engineering: a research survey. Journal of Software Maintenance 15, 2, 87-109
  19. Langelier, G., Sahraoui, H., and Poulin, P. (2008). 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, 13-20.
  20. Lanza, M. (2001). The evolution matrix: recovering software evolution using software visualization techniques. In Proc. of the 4th international Workshop on Principles of Software Evolution. IWPSE 7801. ACM, New York, NY, 37-42.
  21. Lanza, M., Ducasse, S. (2003). Polymetric Views - A Lightweight Visual Approach to Reverse Engineering. IEEE Trans. Softw. Eng. 29, 9, 782-795
  22. Lanza, M., Marinescu, R., and Ducasse, S. (2005). ObjectOriented Metrics in Practice. Springer-Verlag New York, Inc.
  23. Lehman, M. M. (1980). On Understanding Laws, Evolution, and Conservation in the Large-Program Life Cycle. Journal of Systems and Software 1: 213-221.
  24. Mazza, R. (2009). Introduction to Information Visualization, Springer-Verlag, London
  25. Ratzinger, J., Fischer, M., and Gall, H. (2005). EvoLens: Lens-view visualizations of evolution data. In Proc. of the Int. Workshop on Principles of Software Evolution. IEEE Comp. Soc., 2005, pp. 103-112.
  26. Ripley, R. M., Sarma, A., van der Hoek, A. (2007). A Visualization for Software Project Awareness and Evolution. Visualizing Software for Understanding and Analysis, 2007. VISSOFT 2007. 4th IEEE International Workshop on , vol., no., pp.137-144, 24- 25 June 2007
  27. Roman, G-C., Cox, K. C. (1992). Program visualization: the art of mapping programs to pictures. In Proc. of the 14th ICSE. ACM, New York, NY, USA
  28. Voinea, L. Telea, A. (2006). An open framework for CVS repository querying, analysis and visualization. In Proc. of the MSR 2006. ACM, New York, NY, 33-39
  29. Voinea, L., Telea, A. (2006). Multiscale and multivariate visualizations of software evolution. In Proc. of the 2006 ACM Symposium on Software Visualization. Brighton, United Kingdom
  30. Wu, J., Holt, R. C., and Hassan, A. E. (2004). Exploring Software Evolution Using Spectrographs. In Proc. of the 11th Working Conference on Reverse Engineering. WCRE. IEEE Computer Society, Washington, DC, 80-89.
Download


Paper Citation


in Harvard Style

Lima Novais R., de F. Carneiro G., R. M. Simões Júnior P. and Gomes Mendonça M. (2011). ON THE USE OF SOFTWARE VISUALIZATION TO ANALYZE SOFTWARE EVOLUTION - An Interactive Differential Approach . In Proceedings of the 13th International Conference on Enterprise Information Systems - Volume 3: ICEIS, ISBN 978-989-8425-55-3, pages 15-24. DOI: 10.5220/0003430700150024


in Bibtex Style

@conference{iceis11,
author={Renato Lima Novais and Glauco de F. Carneiro and Paulo R. M. Simões Júnior and Manoel Gomes Mendonça},
title={ON THE USE OF SOFTWARE VISUALIZATION TO ANALYZE SOFTWARE EVOLUTION - An Interactive Differential Approach},
booktitle={Proceedings of the 13th International Conference on Enterprise Information Systems - Volume 3: ICEIS,},
year={2011},
pages={15-24},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0003430700150024},
isbn={978-989-8425-55-3},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 13th International Conference on Enterprise Information Systems - Volume 3: ICEIS,
TI - ON THE USE OF SOFTWARE VISUALIZATION TO ANALYZE SOFTWARE EVOLUTION - An Interactive Differential Approach
SN - 978-989-8425-55-3
AU - Lima Novais R.
AU - de F. Carneiro G.
AU - R. M. Simões Júnior P.
AU - Gomes Mendonça M.
PY - 2011
SP - 15
EP - 24
DO - 10.5220/0003430700150024