Measuring stability of object-oriented software architectures

Shouki A. Ebad, Moataz Aly Ahmed

Research output: Contribution to journalArticlepeer-review

13 Scopus citations

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.

Original languageEnglish
Pages (from-to)76-82
Number of pages7
JournalIET Software
Volume9
Issue number3
DOIs
StatePublished - 1 Jun 2015

Bibliographical note

Publisher Copyright:
© The Institution of Engineering and Technology 2015.

ASJC Scopus subject areas

  • Computer Graphics and Computer-Aided Design

Fingerprint

Dive into the research topics of 'Measuring stability of object-oriented software architectures'. Together they form a unique fingerprint.

Cite this