An Evaluation of Coupling Measures for AspectJ

Marc Bartsch, Rachel Harrison · 2006

ABSTRACT The maintenance of aspect-oriented software requires measures that are theoretically valid. Inadequately validated measures might lead to management or project decisions that are likely to be not as effective as they could be. Recently, measures have been suggested that focus on aspect-oriented concepts, such as the crosscutting behaviour of aspects. Before these new measures can be put to use they should be evaluated to determine how far they indeed measure what they purport to quantify. This paper focuses on the evaluation of five aspect-oriented coupling measures with the aim to constructively increase the quality of software evolution. Categories and Subject Descriptors D.2.8 [ Software Engineering ]: Measurement – product metrics. General Terms Measurement. Keywords Measurement, aspect-oriented, coupling. 1. INTRODUCTION Aspect-orientation is an emerging paradigm that is based on the separation of concerns principle. It offers the idea of a new modular unit that encapsulates crosscutting concerns which would otherwise be scattered across multiple modules. Aspect-oriented languages introduce new forms of coupling which are unknown to object-oriented languages. The execution of base code might trigger the execution of aspect code leading to coupling relationships between classes and aspects which are not transparent. In addition to that, intertype declarations can change class implementations by adding attributes or methods. Measuring these new kinds of coupling relationships is an issue which has been addressed lately with the definition of coupling measures specifically designed to support aspect-oriented concepts. A maintenance process for aspect-oriented software that relies on the results of these measures must have the confidence that the measures involved indeed measure what they purport to quantify. Also, the comparison of measurement results is an error prone task if measures can be interpreted in different ways. The position of the authors is that all measures including coupling measures need to be validated to gain confidence in the results taken from measurement. However, others have pointed out that metrics that cannot be validated may still be useful [6]. Since research into measurement of aspect-oriented systems is at an early stage, it is particularly important to validate aspect-oriented measures thoroughly. Also, the authors would like to stress the fact, that validating aspect-oriented coupling measures depends on at least two frameworks. First, validation criteria need to be agreed upon. A measure that validates successfully in the context of one framework might not validate in another. Second, aspect-oriented coupling measures depend on a specific idea of coupling. Mechanisms that constitute coupling in one aspect-oriented language might not exist in another. Hence, a specific aspect-oriented language implementation has to be considered, when aspect-oriented coupling measures are validated. A first step in this direction is the evaluation of five selected aspect-oriented coupling measures suggested by Ceccato and Tonella [4]. In the evaluation process we will focus on four points: First we give an overview of the suggested coupling measures. Second, we identify a measurement goal and a rationale behind the measures. When measures are to be selected for a certain measurement goal, this selection process should be supported by the measure. Third, we ask whether the definitions are well-defined, i.e. whether they are free of any ambiguities. Last, we will investigate whether the coupling measures can be considered valid from a measurement theory point of view, i.e. whether their definitions conform to criteria that all valid measures must obey. Without such a validation we can have no confidence in whether they indeed measure what they purport to. This paper is structured as follows: section 2 presents related work, section 3 introduces two evaluation frameworks used in this paper, section 4 introduces and evaluates the coupling measures. Finally, section 5 offers conclusion and points to further research.

Read the paper · More papers on PaperTik