Investigation of Aspect-Oriented Metrics for
Stability Assessment: A Case Study
Mahmoud O. Elish, Mojeeb Al-Khiaty, Mohammad Alshayeb
Information & Computer Science Department
King Fahd University of Petroleum & Minerals
Dhahran, Saudi Arabia
Emails: {elish, alkhiaty, alshayeb@kfupm.edu.sa
Abstract — Stability assessment provides software managers
with early insight into trends in software evolution, and thus
assists them in managing and controlling long-lived software
systems. However, there are few empirical studies that have
been conducted to relate software metrics with external
quality attributes of aspect-oriented software in general, and
metrics have not been evaluated as indicators of aspect
stability in particular. This paper investigates the
relationships between 13 aspect-oriented metrics and aspect
stability. These metrics measure different structural
properties of an aspect: size, coupling, cohesion, and
inheritance. A case study was conducted using an open
source aspect-oriented software consisting of 76 aspects. The
results obtained from this study indicate statistically
significant correlation between most of the size metrics and
aspect stability. The cohesion metric was also found to be
significantly correlated with aspect stability. In addition,
different prediction models were built using different
combinations of metrics’ categories. It was observed that the
best accuracy was achieved as a function of some of the size
and inheritance metrics.
Index Terms — software metrics, software stability, aspect-
oriented software.
I. INTRODUCTION
Separation of concerns is one of the vital principles in
software engineering for achieving quality software [4].
Although different approaches — including object-
oriented programming, component-oriented program-
ming, and design patterns — provide useful modularity
mechanisms, none of them satisfactorily modularize all
concerns of complex software systems. Some of the
concerns still inherently crosscut the modularity of
multiple modules and are difficult to be captured by these
techniques [6]. Aspect-Oriented Software Development
(AOSD) provides an explicit concepts and mechanisms
for separating the crosscutting concerns [6]. It is
increasingly getting popularity as useful practice to
improve the modularization of software artifacts.
It is vital to quantitatively assess the quality of
software produced using AOSD. In this regard, software
metrics are needed to do such assessment. The external
quality attributes of aspect-oriented software are usually
assessed, using modeling techniques, as a function of
metrics that measure the internal structural properties of
the aspect-oriented software. However, there are few
empirical studies [1, 7, 8, 10] that have been conducted to
relate software metrics with external quality attributes of
aspect-oriented software in general, and metrics have not
been evaluated as indicators of aspect stability in
particular.
Motivated by the foregoing issues, in this paper, we
empirically investigate the relationships between a suite
of aspect-oriented metrics and aspect stability. In other
words, this paper investigates whether or not the metrics
under investigation are good early indicators of aspect
stability in aspect-oriented software. Aspect stability, in
this paper, refers to the extent to which the revisions
made to an aspect are infrequent. The availability of
adequate metrics for stability assessment provides
software managers early insight into trends in software
evolution, and thus assists them in managing and
controlling long-lived software systems.
The rest of this paper is organized as follows Section II
defines the aspect-oriented metrics under investigation.
Section III discusses the case study and its results.
Section IV reviews related work. Section V concludes the
paper.
II. ASPECT-ORIENTED METRICS
In this study, 13 aspect-level metrics are investigated
as indicators of aspects’ stability. These metrics were
chosen because: (i) they measure different structural
properties of an aspect: size, coupling, cohesion, and
inheritance; and (ii) they refine classical object-oriented
metrics, such as C&K metrics [3], which are well-
established and based on sound measurement theory. The
metrics are defined next.
A. Size Metrics
Number of Attributes (NA) [7]: The NA metric of
an aspect is defined as the number of attributes
defined in the aspect.
Number of Methods (NM): The NM metric of an
aspect is defined as the number of methods
defined in the aspect.
2508 JOURNAL OF SOFTWARE, VOL. 6, NO. 12, DECEMBER 2011
© 2011 ACADEMY PUBLISHER
doi:10.4304/jsw.6.12.2508-2514