Using EVOWAVE to Analyze Software Evolution

Rodrigo Magnavita, Renato Novais, Manoel Mendonça

2015

Abstract

Software evolution produces large amounts of data which software engineers need to understand for their daily activities. The use of software visualization constitutes a promising approach to help them comprehend multiple aspects of the evolving software. However, portraying all the data is not an easy task as there are many dimensions to the data (e.g. time, files, properties) to be considered. This paper presents a new software visualization metaphor inspired by concentric waves, which gives information about the software evolution in different levels of detail. This new metaphor is able to portray large amount of data and may also be used to consider different dimensions of the data. It uses the concepts of the formation of concentric waves to map software evolution data generated during the waves formation life cycle. The metaphor is useful for exploring and identifying certain patterns in the software evolution. To evaluate its applicability, we conducted an exploratory study to show how the visualization can quickly answer different questions asked by software engineers when evolving their software.

References

  1. Abramson, D. and Sosic, R. (1995). A debugging tool for software evolution. In Computer-Aided Software Engineering, 1995. Proceedings., Seventh International Workshop on, pages 206 -214.
  2. Bergel, A., Baados, F., Robbes, R., and Binder, W. (2011). Execution profiling blueprints. Software: Practice and Experience, pages n/a-n/a.
  3. Beyer, D. and Hassan, A. E. (2006). Animated visualization of software history using evolution storyboards. In Proceedings of the 13th Working Conference on Reverse Engineering, WCRE 7806, pages 199-210, Washington, DC, USA. IEEE Computer Society.
  4. Corbi, T. A. (1989). Program understanding: Challenge for the 1990s. IBM Systems Journal, 28(2):294-306.
  5. 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.
  6. de F. Carneiro, G., Magnavita, R., and Mendonc¸a, M. (2008). Combining software visualization paradigms to support software comprehension activities. In Proceedings of the 4th ACM Symposium on Software Visualization, SoftVis 7808, pages 201-202, New York, NY, USA. ACM.
  7. Diehl, S. (2007). Software Visualization: Visualizing the Structure, Behaviour, and Evolution of Software. Springer-Verlag New York, Inc., Secaucus, NJ, USA.
  8. Godfrey, M. and Tu, Q. (2001). Growth, evolution, and structural change in open source software. In Proceedings of the 4th International Workshop on Principles of Software Evolution, IWPSE 7801, pages 103-106, New York, NY, USA. ACM.
  9. jEdit (n.d.). jedit - programmer's text editor. Retrieved November 1, 2014, from http://jedit.org/.
  10. Kuhn, A., Erni, D., Loretan, P., and Nierstrasz, O. (2010). Software cartography: thematic software visualization with consistent layout. J. Softw. Maint. Evol., 22(3):191-210.
  11. Kula, R., De Roover, C., German, D., Ishio, T., and Inoue, K. (2014). Visualizing the evolution of systems and their library dependencies. In Software Visualization (VISSOFT), 2014 Second IEEE Working Conference on, pages 127-136.
  12. Lungu, M. (2008). Towards reverse engineering software ecosystems. In Software Maintenance, 2008. ICSM 2008. IEEE International Conference on, pages 428 -431.
  13. Lungu, M., Lanza, M., Gˆirba, T., and Robbes, R. (2010). The small project observatory: Visualizing software ecosystems. Sci. Comput. Program., 75(4):264-275.
  14. Novais, R., Lima, C., de F Carneiro, G., Paulo, R., and Mendonc¸a, M. (2011). An interactive differential and temporal approach to visually analyze software evolution. In Visualizing Software for Understanding and Analysis (VISSOFT), 2011 6th IEEE International Workshop on, pages 1-4.
  15. Novais, R., Nunes, C., Lima, C., Cirilo, E., Dantas, F., Garcia, A., and Mendonca, M. (2012). On the proactive and interactive visualization for feature evolution comprehension: An industrial investigation. In Software Engineering (ICSE), 2012 34th International Conference on, pages 1044-1053.
  16. Novais, R. L., Torres, A., Mendes, T. S., Mendonc¸a, M., and Zazworka, N. (2013). Software evolution visualization: A systematic mapping study. Inf. Softw. Technol., 55(11):1860-1883.
  17. Ogawa, M. and Ma, K.-L. (2009). code swarm: A design study in organic software visualization. IEEE Transactions on Visualization and Computer Graphics, 15(6):1097-1104.
  18. Ratzinger, J., Fischer, M., and Gall, H. (2005). Evolens: Lens-view visualizations of evolution data. In Proceedings of the Eighth International Workshop on Principles of Software Evolution, IWPSE 7805, pages 103-112, Washington, DC, USA. IEEE Computer Society.
  19. Rufiange, S. and Melancon, G. (2014). Animatrix: A matrix-based visualization of software evolution. In Software Visualization (VISSOFT), 2014 Second IEEE Working Conference on, pages 137-146.
  20. Sandoval Alcocer, J., Bergel, A., Ducasse, S., and Denker, M. (2013). Performance evolution blueprint: Understanding the impact of software evolution on performance. In Software Visualization (VISSOFT), 2013 First IEEE Working Conference on, pages 1-9.
  21. Shneiderman, B. (1992). Tree visualization with tree-maps: 2-d space-filling approach. ACM Trans. Graph., 11(1):92-99.
  22. Sillito, J., Murphy, G. C., and De Volder, K. (2006). Questions programmers ask during software evolution tasks. In Proceedings of the 14th ACM SIGSOFT International Symposium on Foundations of Software Engineering, SIGSOFT 7806/FSE-14, pages 23-34, New York, NY, USA. ACM.
  23. Telea, R. and Auber, D. (2008). Code flows: Visualizing structural evolution of source code. computer graphics forum 27(3): 831??838.
  24. Voinea, L. and Telea, A. (2006). Multiscale and multivariate visualizations of software evolution. In Proceedings of the 2006 ACM symposium on Software visualization, SoftVis 7806, pages 115-124, New York, NY, USA. ACM.
Download


Paper Citation


in Harvard Style

Magnavita R., Novais R. and Mendonça M. (2015). Using EVOWAVE to Analyze Software Evolution . In Proceedings of the 17th International Conference on Enterprise Information Systems - Volume 2: ICEIS, ISBN 978-989-758-097-0, pages 126-136. DOI: 10.5220/0005373901260136


in Bibtex Style

@conference{iceis15,
author={Rodrigo Magnavita and Renato Novais and Manoel Mendonça},
title={Using EVOWAVE to Analyze Software Evolution},
booktitle={Proceedings of the 17th International Conference on Enterprise Information Systems - Volume 2: ICEIS,},
year={2015},
pages={126-136},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005373901260136},
isbn={978-989-758-097-0},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 17th International Conference on Enterprise Information Systems - Volume 2: ICEIS,
TI - Using EVOWAVE to Analyze Software Evolution
SN - 978-989-758-097-0
AU - Magnavita R.
AU - Novais R.
AU - Mendonça M.
PY - 2015
SP - 126
EP - 136
DO - 10.5220/0005373901260136