AJATO: an AspectJ Assessment Tool

Eduardo Figueiredo, Alessandro Garcia, Carlos J. P. de Lucena · 2006

Aspect-oriented software development [3] is an emerging paradigm that provides new mechanisms to support the modularization of concerns, which otherwise would crosscut the OO system decomposition. However, the accurate identification of concerns to be aspectized is far from being trivial [2, 4], and it requires a systematic design assessment and reasoning about multiple modularity principles [2]. Even the aspectization of certain tangled and scattered concerns can negatively affect fundamental software attributes, such as coupling, cohesion, and conciseness [2, 4]. In this context, this paper presents an assessment tool, called AJATO [5], to support the quantitative assessment of AO software artefacts. The goals of the tool are: (i) to compute existing AO metrics, and (ii) to support the application of a heuristics suite. Most of the AO metrics available in our tool are based on traditional metrics, such as lines of code, and on extensions of those widely used with object-oriented design, such as the Chidamber and Kemerer metrics. Besides, the metrics suite also encompasses new metrics for measuring separation of concerns [4]. Some of the metrics available in AJATO are Concern Diffusion over Components (CDC), Number of Attributes per Concern (NOAconcern), Number of Operations per Concern (NOOconcern), Vocabulary Size (VS), Number of Attributes (NOA), and Number of Operations (NOO). In addition to the metrics, our assessment tool also implements some heuristics rules in order to automate some modularity analysis about the numbers. For example, the set of heuristics provides contextual information on how the realization of a given concern satisfies other software engineering attributes, such as coupling, cohesion, and size. It also supports the automatic generation of warnings when certain design principles, such as narrow interfaces and high cohesion, are violated. Table 1 presents some of these rules associated to separation of concerns. The investigated heuristics have been derived from our long-term experience on assessing aspect-oriented design and implementation [2, 4]. AJATO also supports the association of application-specific thresholds with the metrics and heuristics.

Read the paper · More papers on PaperTik