should reduce the size of operations. This is clearly
seen by a smaller value of this metric observed in the
performed measurements.
DIT/NOC: Both these metrics as indicators of in-
heritance show slightly smaller values for AO pro-
grams vs. OO programs. Based on their character-
istics, these metrics should not be much affected with
the change of paradigm from OO to AO. Perhaps that
is the reason that these metrics do not show any sig-
nificant changes in program design strategies.
Coupling related measures, to be discussed
next, are more important for analysis since aspect-
orientation mainly concerns with this issue.
RFM: This metric, similar to RFC of C&K met-
rics suite, is a kind of coupling measure. Both the
figure 1 and the tables 3 and 4 show that its value is
between 0-25 in about 95% of the cases. This metric
reflects reduced coupling for AO programs. It shows
a considerable design improvement of the AOP over
the OOP.
CBO/CBM: CBM of AO is the closest parallel to
the CBO of OO programs. It is perhaps the most im-
portant measure characterizing the couplings which is
the main motivation for the paradigm shift from OOP
to AOP. The figure 1 and table 3 show considerably
reduced coupling between modules. This seems to
be a consequence of AO’s separation of concerns and
woven code.
LCO: In an OO or AO design, there should be
high cohesion between methods/operations. Non-
cohesive operations indicate a need for splitting
classes/aspects. Despite being in the range of 0-50,
a very high variation of this metric was observed for
object-oriented programs. However, in case of AO, it
shows a very small average with a very low value of
standard deviation, see table 3. Table 4 shows that its
value could be between 3 and 17. A higher majority
of measured AO programs have showed a very high
cohesion which reflects an improved design practice.
5 CONCLUSIONS
This paper presented a metrics-based comparison
among object-oriented and aspect-oriented designs
using several samples of OO/AO libraries and pro-
grams. Amplitude of the OO measurement data made
this empirical study unique among the very few ex-
periments of this kind ever performed. From the pro-
grams and libraries that we measured, it was found
that both kinds of programs exhibited similar inheri-
tance related characteristics. Small coupling and high
cohesion was observed in the measured AO programs
w.r.t OO programs. Based on these quality indica-
tors we were able to confirm the thesis that aspect-
orientation improves modularity and maintainability.
Overall, AO reflected (usually considered) better de-
sign characteristics in contrast to OO programs.
A very large proportionof measured OO programs
consisted of standard libraries, and not normal pro-
grams/applications. The study needs to be extended
with a larger and diverse sample of both real OO and
AO programs using more coupling related and other
relevant metrics.
REFERENCES
Ceccato, M. and Tonella, P. (2004). Measuring the effects
of software aspectization. In Proceedings of 1st Work-
shop on Aspect Reverse Engineering.
Chidamber, S. R. and Kemerer, C. F. (1994). A metrics
suite for object-oriented design. IEEE Trans. Softw.
Eng., 20(6):476–493.
Farooq, A., Braungarten, R., and Dumke, R. R. (2005). An
empirical analysis of object-oriented metrics for Java
technologies. In INMIC 2005: Proceedings of the
9th IEEE International Multitopic Conference, pages
548–553. IEEE Computer Society.
Guyomarc’h, J.-Y. and Guhneuc, Y.-G. (2005). On the
impact of aspect-oriented programming on object-
oriented metrics. In Proceedings of the 9th
ECOOP workshop on Quantitative Approaches in
Object-Oriented Software Engineering, pages 42–47.
Springer-Verlag.
Kulesza, U., Sant’Anna, C., Garcia, A., Coelho, R., von
Arndt Staa, and Lucena, C. (2006). Quantifying the
effects of aspect-oriented programming: A mainte-
nance study. In ICSM ’06: Proceedings of the 22nd
IEEE International Conference on Software Mainte-
nance, pages 223–233. IEEE Computer Society.
Laddad, R. (2003). Aspect-oriented programming will im-
prove quality. Software, IEEE, 20(6):90–91.
Tsang, S. L., Clarke, S., and Baniassad, E. (2004).
Object metrics for aspect systems: Limiting em-
pirical inference based on modularity. Technical
report, Trinity College Dublin, Ireland. Avail-
able at http://www.cse.cuhk.edu.hk/˜elisa/papers/OO-
AOMetrics.pdf.
ICSOFT 2009 - 4th International Conference on Software and Data Technologies
290