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