Assessing Aspect-Oriented Artifacts: Towards a Tool-Supported Quantitative Method
Eduardo Figueiredo, Alessandro Garcia, Cláudio Sant’Anna, Uirá Kulesza, Carlos J. P. de Lucena · 2005
Abstract. Aspect-oriented (AO) software development is an emerging paradigm that provides new abstractions and mechanisms to support the modularization of crosscutting concerns through the software development. However, the achievement of high-quality AO software is not trivial. The inappropriate use of aspect-oriented abstractions and mechanisms potentially leads to the violation of important design principles, such as low coupling, high cohesion, incomplete modularization of crosscutting concerns into aspects, and so forth. These problems are not easily detectable and an ad hoc analysis of large designs and implementations is often expensive and time-consuming. Hence there is a need for an assessment method that assists software engineers in the analysis of their AO designs and implementations. This paper reports our efforts in the ongoing development of a systematic approach to support the quantitative assessment of aspect-oriented artifacts generated through the system design and implementation. The approach is organized in a stepwise fashion and is founded on a metrics suite and a comprehensive set of complementary rules. Our proposal is supported by a prototype measurement tool and has been applied to four medium-sized software systems in different domains and with distinct degrees of complexity. 1