Abstract
Metrics for aspect-oriented software have been proposed and used to investigate the benefits and the disadvantages of crosscutting concerns modularisation. Some of these metrics have not been rigorously defined nor analytically evaluated. Also, there are few empirical data showing typical values of these metrics in aspect-oriented software. In this paper, we provide rigorous definitions, usage guidelines, analytical evaluation, and empirical data from ten open source projects, determining the value of six metrics for aspect-oriented software (lines of code, weighted operations in module, depth of inheritance tree, number of children, crosscutting degree of an aspect, and coupling on advice execution). We discuss how each of these metrics can be used to identify shortcomings in existing aspect-oriented software.
Highlights
Aspect-Oriented Software Development (AOSD) aims at providing abstraction and composition mechanisms to better modularise crosscutting concerns [17,10]
Our work differs from theirs in the sense that we discuss the shape of small-scale open source aspect-oriented programs and that we focus on the rigorous definition, evaluation of the metrics and empirical data rather than verifying if the distribution function of the metrics obeys power laws
We provide a set of contributions to the use of metrics for aspect-oriented software
Summary
Aspect-Oriented Software Development (AOSD) aims at providing abstraction and composition mechanisms to better modularise crosscutting concerns [17,10]. Metrics adapted from widely known and used metrics for object-oriented software [9] have already been used in experimental studies on AOSD [5,7,15], where the original object-oriented metrics were extended to be paradigmindependent, generating comparable results [6] Up to date, these metrics have been informally described [8], their properties have not been analysed, and typical values of these metrics for actual and practical software are not available in the literature
Published Version (
Free)
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have