Measuring Cohesion in Aspect-oriented Systems

J.-F. Gélinas, L. Badri, and M. Badri (Canada)


Aspect Paradigm, Quality Attributes, Cohesion,Dependence, Criterion and Metric.


Aspect-Oriented Programming deals with scattered and tangled code related to crosscutting concerns. AspectJ, as an aspect-oriented programming language, represents an interesting extension of Java. Several metrics have been proposed in order to assess object-oriented software quality attributes. However, these metrics do not take into account the new abstractions and complexity dimensions introduced by the aspect paradigm. As a consequence, new metrics must be developed to assess aspect-oriented systems quality. Cohesion is considered as one of the most important software quality attributes. Cohesion refers to the degree of relatedness between the members of a software component. It is recognized as an indicator of its structure quality. We propose, in this paper, a new approach for aspect cohesion measurement based on dependence analysis. We introduce several cohesion criteria taking into account aspect's characteristics and capturing relationships that may exist between its members. We also propose a new aspect cohesion metric and illustrate, using a concrete case study, its adequacy to capture aspect's characteristics. Moreover, we also explored empirically the impact of the aspect paradigm on classes' cohesion in aspect-oriented programs.

Important Links:

Go Back