AN EMPIRICAL ASSESSMENT OF THE IMPACT OF ASPECT-ORIENTED PROGRAMMING ON SOFTWARE MODULARITY

Adam Przybylek

2010

Abstract

The term “crosscutting concern” describes a piece of system that cannot be cleanly modularized because of the limited abstractions offered by the traditional programming paradigms. Symptoms of implementing crosscutting concerns in the languages like C, C# or Java are “code scattering” and “code tangling” that both degrade software modularity. Aspect-oriented programming (AOP) was proposed as a new paradigm to overcome these problems. Although it is known that AOP allows programmers to separate crosscutting concerns, the impact of AOP on software modularity is not yet well investigated. This paper reports a quantitative study comparing OO and AO implementations with respect to modularity.

References

  1. Basili, V. R., Briand, L. C., Melo, W. L., 1996. A Validation of Object-Oriented Design Metrics as Quality Indicators. IEEE Transactions on Software Engineering vol. 22(10), pp. 751-761
  2. Briand, L. C., Daly, J. W., Wüst, J., 1998. A Unified Framework for Cohesion Measurement in ObjectOriented Systems. Empirical Softw. Engg. vol. 3(1), pp. 65-117
  3. Briand, L. C., Daly, J. W., Wüst, J. K., 1999. A Unified Framework for Coupling Measurement in ObjectOriented Systems. IEEE Transactions on Software Engineering vol. 25(1), pp. 91-121
  4. Briand, L. C., Morasca, S., Basili, V. R., 1999. Defining and Validating Measures for Object-Based High-Level Design. IEEE Trans. Softw. Eng. vol. 25(5), pp. 722- 743
  5. Briand, L. C., Wüst, J. K., Lounis, H., 2001. Replicated Case Studies for Investigating Quality Factors in Object-Oriented Designs. Empirical Software Eng., vol. 6(1), pp. 11-58
  6. Booch, G., 1994. Object-oriented Analysis and Design with Applications. Benjamin-Cummings, Redwood City, California
  7. Ceccato, M., Tonella, P., 2004. Measuring the Effects of Software Aspectization. In: 1st Workshop on Aspect Reverse Engineering, Delft, Netherlands
  8. Chidamber, S. R., Kemerer, C. F., 1994. A Metrics Suite for Object Oriented Design. IEEE Trans. Softw. Eng. 20, 6 (Jun. 1994), pp. 476-493
  9. Fenton, N., Melton, A., 1990. Deriving Structurally Based Software Measures. J. Syst. Software vol. 12, pp. 177- 187
  10. Filho, F. C., Cacho, N., Figueiredo, E., Maranhão, R., Garcia, A., Rubira, C. M., 2006. Exceptions and aspects: the devil is in the details. In: 14th ACM SIGSOFT international Symposium on Foundations of Software Engineering, Portland, Oregon
  11. Garcia, A., Sant'Anna, C., Figueiredo, E., Kulesza, U., Lucena, C., von Staa, A., 2005. Modularizing design patterns with aspects: a quantitative study. In: 4th international Conference on Aspect-Oriented Software Development (AOSD'05), Chicago, Illinois
  12. Greenwood, P., Bartolomei, T. T., Figueiredo, E., Dósea, M., Garcia, A. F., Cacho, N., Sant'Anna, C., Soares, S., Borba, P., Kulesza, U., Rashid, A., 2007. On the Impact of Aspectual Decompositions on Design Stability: An Empirical Study. In: 21st European Conference on Object-Oriented Programming (ECOOP'07), Berlin, Germany
  13. Guyomarc'h, J., Guéhéneuc, Y., 2005. On the Impact of Aspect-Oriented Programming on Object-Oriented Metrics. In: Workshop on Quantitative Approaches in Object-Oriented Software Engineering at ECOOP'05, Glasgow, UK
  14. Hannemann, J., Kiczales, G., 2002. Design Pattern Implementation in Java and AspectJ. In: 17th Conference on Object-Oriented Programming Systems, Languages, and Applications, Seattle
  15. Hitz, M., Montazeri, B., 1995. Measuring Coupling and Cohesion in Object-Oriented Systems. In: 3rd International Symposium on Applied Corporate Computing, Monterrey, Mexico
  16. Hoffman, K., Eugster, P., 2007. Bridging Java and AspectJ through explicit join points. In: 5th international Symposium on Principles and Practice of Programming in Java, Lisboa, Portugal
  17. Kästner, C., Apel, S., Batory, D., 2007. A Case Study Implementing Features using AspectJ. In: 11th International Conference of Software Product Line Conference (SPLC'07), Kyoto, Japan
  18. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, Ch., Lopes, C. V., Loingtier, J., Irwin, J., 1997. AspectOriented Programming. LNCS, vol. 1241, pp. 220-242. Springer, New York
  19. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W. G., 2001. An Overview of AspectJ. In: 15th European Conference on Object-Oriented Programming (ECOOP'01), Budapest, Hungary
  20. Lesiecki, N., 2002. Improve modularity with aspectoriented programming. http://www.ibm.com/ developerworks/library/j-aspectj/
  21. Madeyski, L., Szala, L., 2007. Impact of aspect-oriented programming on software development efficiency and design quality: an empirical study. IET Software Journal, vol. 1(5), pp. 180-187
  22. Mancoridis, S., Mitchell, B. S., Rorres, C., Chen, Y., Gansner, E. R., 1998. Using Automatic Clustering to Produce High-Level System Organizations of Source Code. In: 6th international Workshop on Program Comprehension (IWPC'98), Ischia, Italy
  23. Meyer B., 1989. Object-oriented Software Construction, Prentice Hall
  24. Monteiro, M. P., Fernandes, J. M., 2005. Towards a Catalog of Aspect-Oriented Refactorings. In: 4th international Conference on Aspect-Oriented Software Development (AOSD'05), Chicago, Illinois
  25. Munoz, F., Baudry, B., Barais, O., 2008. A classification of invasive patterns in AOP. In: 24th IEEE International Conference on Software Maintenance (ICSM'08), Beijing, China
  26. Ponnambalam, K., 1997. Characterization and Selection of Good Object-Oriented Design. In: Workshop on OO Design at OOPSLA'97, Atlanta, Georgia
  27. Przybylek, A., 2007. Post Object-Oriented Paradigms in Software Development: a Comparative Analysis. In: 1st Workshop on Advances in Programming Languages at IMCSIT'07, Wisla, Poland
  28. Sant'Anna, C., Garcia, A., Chavez, C. Lucena, C., von Staa, A., 2003. On the Reuse and Maintenance of Aspect-Oriented Software: An Assessment Framework. In: 17th Brazilian Symposium on Software Engineering (SEES'03), Manaus, Brazil
  29. Soares, S., 2004. An Aspect-Oriented Implementation Method. PhD thesis, Federal University of Pernambuco, Brazil
  30. Srivisut, K., Muenchaisri, P., 2006. Determining Threshold of Aspect-Oriented Software Metrics. In: 3rd International Joint Conference on Computer Science and Software Engineering, Bangkok, Thailand
  31. Stochmialek, M., 2005. AOPmetrics. http://aopmetrics.tigris.org
  32. Tsang, S. L., Clarke, S., Baniassad, E., 2004. Object metrics for aspect systems: Limiting empirical inference based on modularity. Technical Report, Trinity College Dublin
  33. Yourdon, E., Constantine, L. L., 1979. Structured Design: Fundamentals of a Discipline of Computer Program and System Design. Prentice-Hall, New York
Download


Paper Citation


in Harvard Style

Przybylek A. (2010). AN EMPIRICAL ASSESSMENT OF THE IMPACT OF ASPECT-ORIENTED PROGRAMMING ON SOFTWARE MODULARITY . In Proceedings of the Fifth International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-8425-21-8, pages 139-148. DOI: 10.5220/0003000801390148


in Bibtex Style

@conference{enase10,
author={Adam Przybylek},
title={AN EMPIRICAL ASSESSMENT OF THE IMPACT OF ASPECT-ORIENTED PROGRAMMING ON SOFTWARE MODULARITY},
booktitle={Proceedings of the Fifth International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2010},
pages={139-148},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0003000801390148},
isbn={978-989-8425-21-8},
}


in EndNote Style

TY - CONF
JO - Proceedings of the Fifth International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - AN EMPIRICAL ASSESSMENT OF THE IMPACT OF ASPECT-ORIENTED PROGRAMMING ON SOFTWARE MODULARITY
SN - 978-989-8425-21-8
AU - Przybylek A.
PY - 2010
SP - 139
EP - 148
DO - 10.5220/0003000801390148