Towards a classification of logical dependencies origins: a case study
Proceedings of the 12th International Workshop on Principles of Software Evolution and the 7th annual ERCIM Workshop on Software Evolution
Information and Software Technology
Proceedings of the 34th International Conference on Software Engineering
Connectivity of co-changed method groups: a case study on open source systems
CASCON '12 Proceedings of the 2012 Conference of the Center for Advanced Studies on Collaborative Research
Proceedings of the 10th Working Conference on Mining Software Repositories
dCloud: a document link provision cloud for software extension tasks
Proceedings of the International C* Conference on Computer Science and Software Engineering
What can commit metadata tell us about design degradation?
Proceedings of the 2013 International Workshop on Principles of Software Evolution
Visualizing protected variations in evolving software designs
Journal of Systems and Software
Hi-index | 0.00 |
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.