Software architecture is an important form of abstraction, representing the overall system structure and the relationship among components. When software is modified from one version to another, its architecture may change. Software modification involving architectural change is often difficult when the change goes beyond the original architectural design, involving changes to the connectivity of multiple components. Existing research has looked at architectural change at the level of architecture metrics such complexity, coupling and cohesion, which abstract a particular version of the software in isolation. In this paargue that this level of abstraction is often too high to characterize some interesting aspects of the architectural change process, and propose an approach that takes into account the change in connectivity from version to version of individual components. In this approach, two endpoints of a major change are taken as reference points, and intermediate connectivity ...
Taiga Nakamura, Victor R. Basili