Coupling Metrics for Aspect-Oriented Programming: A Systematic Review of Maintainability Studies

  • Rachel Burrows
  • Alessandro Garcia
  • François Taïani
Part of the Communications in Computer and Information Science book series (CCIS, volume 69)

Abstract

Over the last few years, a growing number of studies have explored how Aspect-Oriented Programming (AOP) might impact software maintainability. Most of the studies use coupling metrics to assess the impact of AOP mechanisms on maintainability attributes such as design stability. Unfortunately, the use of such metrics is fraught with dangers, which have so far not been thoroughly investigated. To clarify this problem, this paper presents a systematic review of recent AOP maintainability studies. We look at attributes most frequently used as indicators of maintainability in current aspect-oriented (AO) programs; we investigate whether coupling metrics are an effective surrogate to measure theses attributes; we study the extent to which AOP abstractions and mechanisms are covered by used coupling metrics; and we analyse whether AO coupling metrics meet popular theoretical validation criteria. Our review consolidates data from recent research results, highlights circumstances when the applied coupling measures are suitable to AO programs and draws attention to deficiencies where coupling metrics need to be improved.

Keywords

Coupling Aspect-oriented programming Systematic review Maintainability 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Arisholm, E., Briand, L., Foyen, A.: Dynamic Coupling Measurement for Object-Oriented Software. IEEE Trans. Soft. Eng. 30(8), 491–506 (2004)CrossRefGoogle Scholar
  2. 2.
    The AspectJ Prog. Guide, http://eclipse.org/aspectj
  3. 3.
    Bartsch, M., Harrison, R.: An Evaluation of Coupling Measures for AOP. In: LATE Workshop AOSD (2006)Google Scholar
  4. 4.
    Briand, L., Daly, J., Wüst, J.: A Unified Framework for Coupling Measurement in Object-Oriented Systems. IEEE Trans. Software Eng. 25(1), 91–121 (1999)CrossRefGoogle Scholar
  5. 5.
    Briand, L., Wüst, J.: Empirical Studies of Quality Models in Object-Oriented Systems. In: Advances in Computers. Academic Press, London (2002)Google Scholar
  6. 6.
    Basili, V., et al.: GQM Paradigm. Comp. Encyclopedia of Soft. Eng. JW&S 1, 528–532 (1994)Google Scholar
  7. 7.
    Cacho, N., et al.: Composing design patterns: a scalability study of aspect-oriented programming. In: AOSD 2006, pp. 109–121 (2006)Google Scholar
  8. 8.
    CaesarJ homepage, http://caesarj.org
  9. 9.
    Cai, Y., Sullivan, K.J.: Modularity Analysis of Logical Design Models. ASE 21, 91–102 (2006)Google Scholar
  10. 10.
    Ceccato, M., Tonella, P.: Measuring the Effects of Software Aspectization. WARE cd-rom (2004)Google Scholar
  11. 11.
    Chidamber, S., Kemerer, C.: A Metrics Suite for OO Design. IEEE Trans. Soft. Eng. 20(6), 476–493 (1994)CrossRefGoogle Scholar
  12. 12.
    Fenton, N.E., Pfleeger, S.L.: Software Metrics: a Rigorous and Practical Approach, 2nd edn. PWS Publishing Co., Boston (1998)Google Scholar
  13. 13.
    Figueiredo, E., et al.: Assessing Aspect-Oriented Artifacts: Towards a Tool-Supported Quantitative Method. In: ECOOP (2005)Google Scholar
  14. 14.
    Filho, F.C., et al.: Exceptions and aspects: the devil is in the details. FSE 14, 152–156 (2006)Google Scholar
  15. 15.
    Filho, F.C., Garcia, A., Rubira, C.M.F.: A quantitative study on the aspectization of exception handling. In: Proc. ECOOP (2005)Google Scholar
  16. 16.
    Garcia, A., et al.: On the modular representation of architectural aspects. In: Gruhn, V., Oquendo, F., et al. (eds.) EWSA 2006. LNCS, vol. 4344, pp. 82–97. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  17. 17.
    Garcia, A., et al.: Separation of Concerns in Multi-Agent Systems: An Empirical Study. Software Engineering for Multi-Agent Systems with Aspects and Patterns. J. Brazilian Comp. Soc. 1(8), 57–72 (2004)Google Scholar
  18. 18.
    Garcia, A., et al.: Aspectizing Multi-Agent Systems: From Architecture to Implementation. In: Choren, R., Garcia, A., Lucena, C., Romanovsky, A. (eds.) SELMAS 2004. LNCS, vol. 3390, pp. 121–143. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  19. 19.
    Garcia, A., et al.: Modularizing Design Patterns with Aspects: A Quantitative Study. In: Proc. AOSD, pp. 3–14 (2005)Google Scholar
  20. 20.
    Greenwood, P., et al.: On the Impact of Aspectual Decompositions on Design Stability: An Empirical Study. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 176–200. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  21. 21.
    Harrison, R., Counsell, S., Nithi., R.: An Overview of Object-Oriented Design Metrics. In: Proc. STEP, pp. 230–234 (1997)Google Scholar
  22. 22.
    Hitz, M., Montezeri, B.: Measuring Coupling and Cohesion in Object-Oriented Systems. In: Proc. Int. Symposium on Applied Corporate Computing (1995)Google Scholar
  23. 23.
  24. 24.
  25. 25.
  26. 26.
    Kastner, C., Apel, S., Batory, D.: Case Study Implementing Features Using AspectJ. In: Proc. SPLC, pp. 223–232 (2007)Google Scholar
  27. 27.
    Kiczales, G., et al.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S., et al. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  28. 28.
    Kitchenham, B., et al.: Systematic Literature Reviews in Software Engineering – A Systematic Literature Review. Information and Software Technology (2008)Google Scholar
  29. 29.
    Kitchenham, B.: Procedures for Performing Systematic Reviews. Joint Tech. Rep. S.E.G. (2004)Google Scholar
  30. 30.
    Kitchenham, B., Pfleeger, S.L., Fenton, N.: Towards a Framework for Software Validation Measures. IEEE TSE 21(12), 929–944 (1995)Google Scholar
  31. 31.
    Kulesza, U., et al.: Quantifying the Effects of Aspect-Oriented Programming: A Maintenance Study. In: Proc. ICSM, pp. 223–233 (2006)Google Scholar
  32. 32.
    Lopes, C.V., Bajracharya, S.K.: An analysis of modularity in aspect oriented design. In: AOSD, pp. 15–26 (2005)Google Scholar
  33. 33.
    Marchetto, A.: A Concerns-based Metrics Suite for Web Applications. INFOCOMP journal of computer science 4(3) (2004)Google Scholar
  34. 34.
    Pressman, R.S.: Software Engineering: a Practitioner’s Approach. McGraw Hill, NY (1987)MATHGoogle Scholar
  35. 35.
    Sant’Anna, C., et al.: On the Modularity of Software Architectures: A Concern-Driven Measurement Framework. In: Oquendo, F. (ed.) ECSA 2007. LNCS, vol. 4758, pp. 207–224. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  36. 36.
    Sant’Anna, C., et al.: On the Reuse and Maintenance of Aspect-Oriented Software: An Assessment Framework. In: Proc. SBES, pp. 19–34 (2003)Google Scholar
  37. 37.
    Sant’Anna, C., et al.: On the Modularity of Software Architectures: A Concern-Driven Measurement Framework. In: Proc. ECSA (2008)Google Scholar
  38. 38.
  39. 39.
    Zhao, J.: Measuring Coupling in Aspect-Oriented Systems. In: Int. Soft. Metrics Symp. (2004)Google Scholar
  40. 40.
    Zimmermann, T., Nagappan, N.: Predicting defects using network analysis on dependency graphs. In: ICSE, pp. 531–540 (2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Rachel Burrows
    • 1
  • Alessandro Garcia
    • 2
  • François Taïani
    • 1
  1. 1.Computing DepartmentLancaster UniversityU.K.
  2. 2.Informatics DepartmentPontifical Catholic University of Rio de JaneiroBrazil

Personalised recommendations