Abstract
Software architectural stability reflects the capability of software to evolve while preserving its architecture. Stability in this context means preserving cross-architectural components communications and structural relationships unchanged. It is recognised that cross-architectural components changes are costly and should be avoided. In object-oriented development, class packages form the basic architectural components of large-scale software systems. There has been a number of architecture stability metrics proposed in the literature. Those metrics mainly measure changes in cross-components structural relationships and not cross-components communication. In this study, the authors’ present a new architectural stability metric that measure inter-package calls. The authors’ theoretically validated ASM through a set of prominent mathematical properties. The authors’ also empirically validated the metric using two open source projects: JHotDraw and abstract window toolkit. Measurements of the ASM were shown to be consistent with the lines of code changes across releases in the two projects.