Issue No.05 - September/October (2009 vol.35)
Marco D'Ambros , University of Lugano, Lugano
Michele Lanza , University of Lugano, Lugano
Mircea Lungu , University of Lugano, Lugano
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2009.17
Software evolution analysis provides a valuable source of information that can be used both to understand a system's design and predict its future development. While for many program comprehension purposes, it is sufficient to model a single version of a system, there are types of information that can only be recovered when the history of a system is taken into account. Logical coupling, the implicit dependency between software artifacts that have been changed together, is an example of such information. Previous research has dealt with low-level couplings between files, leading to an explosion of the data to be analyzed, or has abstracted the logical couplings to the level of modules, leading to a loss of detailed information. In this paper, we present a visualization-based approach that integrates logical coupling information at different levels of abstraction. This facilitates an in-depth analysis of the logical couplings, and at the same time, leads to a characterization of a system's modules in terms of their logical coupling. The presented approach supports the retrospective analysis of a software system and maintenance activities such as restructuring and redocumentation. We illustrate retrospective analysis on two large open-source software systems.
Software evolution, software visualization, logical coupling.
Marco D'Ambros, Michele Lanza, Mircea Lungu, "Visualizing Co-Change Information with the Evolution Radar", IEEE Transactions on Software Engineering, vol.35, no. 5, pp. 720-735, September/October 2009, doi:10.1109/TSE.2009.17