Skip to main content

Systems Evolution and Software Reuse in Object-Oriented Programming and Aspect-Oriented Programming

  • Conference paper
Objects, Models, Components, Patterns (TOOLS 2011)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6705))

Abstract

Every new programming technique makes claims that software engineers want to hear. Such is the case with aspect-oriented programming (AOP). This paper describes a quasi-controlled experiment which compares the evolution of two functionally equivalent programs, developed in two different paradigms. The aim of the study is to explore the claims that software developed with aspect-oriented languages is easier to maintain and reuse than this developed with object-oriented languages. We have found no evidence to support these claims.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bartsch, M., Harrison, R.: An exploratory study of the effect of aspect-oriented programming on maintainability. Software Quality Journal 16(1), 23–44 (2008)

    Article  Google Scholar 

  2. Basili, V.R., Caldiera, G., Rombach, H.D.: Goal Question Metric Approach. In: Encyclopedia of Software Engineering, pp. 528–532. John Wiley & Sons, Inc., Chichester (1994)

    Google Scholar 

  3. Beltagui, F.: Features and Aspects: Exploring feature-oriented and aspect-oriented programming interactions. Technical Report No: COMP-003-2003, Computing Department, Lancaster University (2003)

    Google Scholar 

  4. Bieman, J.M., Kang, B.: Cohesion and reuse in an object-oriented system. SIGSOFT Softw. Eng. Notes 20(SI), 259–262 (1995)

    Article  Google Scholar 

  5. Bowen, T.P., Post, J.V., Tai, J., Presson, P.E., Schmidt, R.L.: Software Quality Measurement for Distributed Systems. Guidebook for Software Quality Measurement. Technical Report RADC-TR-83-175 vol.  2 (July 1983)

    Google Scholar 

  6. Breivold, H.P., Crnkovic, I., Land, R., Larsson, S.: Using Dependency Model to Support Software Architecture Evolution. In: 23rd IEEE/ACM International Conference on Automated Software Engineering, L’Aquila, Italy (2008)

    Google Scholar 

  7. Brichau, J., De Meuter, W., De Volder, K.: Jumping Aspects. In: Workshop on Aspects and Dimensions of Concerns at ECOOP 2000, Sophia Antipolis and Cannes, France (2000)

    Google Scholar 

  8. Chaumun, M.A., Kabaili, H., Keller, R.K., Lustman, F., Saint-Denis, G.: Design Properties and Object-Oriented Software Changeability. In: 13th Conference on Software Maintenance and Reengineering, Kaiserslautern, Germany (2000)

    Google Scholar 

  9. Coady, Y., Kiczales, G.: Back to the future: a retroactive study of aspect evolution in operating system code. In: 2nd Inter. Conf. on Aspect-oriented software development (AOSD 2003), Boston, Massachusetts (2003)

    Google Scholar 

  10. Figueiredo et al.: Evolving software product lines with aspects: An empirical study on design stability. In: 30th International Conference on Software Engineering (ICSE 2008), Leipzig, Germany (2008)

    Google Scholar 

  11. Fjeldstad, R., Hamlen, W.: Application program maintenance-report to to our respondents. In: Parikh, G., Zvegintzov, N. (eds.) Tutorial on Software Maintenance, pp. 13–27. IEEE Computer Soc. Press, Los Alamitos (1983)

    Google Scholar 

  12. Frakes, W.: Software Reuse as Industrial Experiment. American Programmer 6(9), 27–33 (1993)

    Google Scholar 

  13. Glass, R.L.: Facts and Fallacies of Software Engineering. Addison-Wesley, Reading (2002)

    Google Scholar 

  14. Griswold, W.G., Sullivan, K., Song, Y., Shonle, M., Tewari, N., Cai, Y., Rajan, H.: Modular Software Design with Crosscutting Interfaces. IEEE Software 23(1), 51–60 (2006)

    Article  Google Scholar 

  15. Hanenberg, S., Unland, R.: Using and Reusing Aspects in AspectJ. In: Workshop on Advanced Separation of Concerns in Object-Oriented Systems at OOPSLA 2001, Tampa Bay, Florida (2001)

    Google Scholar 

  16. Hitz, M., Montazeri, B.: Measuring Coupling and Cohesion in Object-Oriented Systems. In: 3rd International Symposium on Applied Corporate Computing, Monterrey, Mexico (1995)

    Google Scholar 

  17. KĂ€stner, C., Apel, S., Batory, D.: A Case Study Implementing Features using AspectJ. In: 11th International Conference of Software Product Line Conference (SPLC 2007), Kyoto, Japan (2007)

    Google Scholar 

  18. Katz, S.: Diagnosis of harmful aspects using regression verification. In: Workshop on Foundations of Aspect-Oriented Languages at AOSD 2004, Lancaster, UK (2004)

    Google Scholar 

  19. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Cristina Lopes, C., Loingtier, J., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Auletta, V. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  20. Koppen, C., Störzer, M.: PCDiff: Attacking the fragile pointcut problem. In: European Interactive Workshop on Aspects in Software, Berlin, Germany (2004)

    Google Scholar 

  21. Kulesza, U., Sant’Anna, C., Garcia, A., Coelho, R., von Staa, A., Lucena, C.: Quantifying the effects of aspect-oriented programming: A maintenance study. In: 22nd IEEE International Conference on Software Maintenance (ICSM 2006), Dublin, Ireland (2006)

    Google Scholar 

  22. Lemos, O.A., Junqueira, D.C., Silva, M.A., Fortes, R.P., Stamey, J.: Using aspect-oriented PHP to implement crosscutting concerns in a collaborative web system. In: 24th Annual ACM International Conference on Design of Communication, Myrtle Beach, South Carolina (2006)

    Google Scholar 

  23. MacCormack, A., Rusnak, J., Baldwin, C.: The Impact of Component Modularity on Design Evolution: Evidence from the Software Industry. Harvard Business School Technology & Operations Mgt. Unit Research Paper, vol.  08-038 (2007)

    Google Scholar 

  24. Mancoridis, S., Mitchell, B. S., Rorres, C., Chen, Y., Gansner, E.R.: Using Automatic Clustering to Produce High-Level System Organizations of Source Code. In: 6th International Workshop on Program Comprehension (IWPC 1998), Ischia, Italy (1998)

    Google Scholar 

  25. Mens, T., Mens, K., Tourwé, T.: Software Evolution and Aspect-Oriented Software Development, a cross-fertilisation. In: ERCIM special issue on Automated Software Engineering, Vienna, Austria (2004)

    Google Scholar 

  26. Mortensen, M., Ghosh, S., Bieman, J.: Aspect-Oriented Refactoring of Legacy Applications: An Evaluation. IEEE Trans. Software Engineering 99 (2010)

    Google Scholar 

  27. Mortensen, M.: Improving Software Maintainability through Aspectualization. PhD thesis, Department of Computer Science, Colorado State University, CO (2009)

    Google Scholar 

  28. Munoz, F., Baudry, B., Barais, O.: Improving maintenance in AOP through an interaction specification framework. In: IEEE Intl. Conf. on Software Maintenance, Beijing, China (2008)

    Google Scholar 

  29. Perepletchikov, M., Ryan, C., Frampton, K.: Cohesion Metrics for Predicting Maintainability of Service-Oriented Software. In: 7th International Conference on Quality Software (QSIC 2007), Portland, Oregon (2007)

    Google Scholar 

  30. PrzybyƂek, A.: Where the truth lies: AOP and its impact on software modularity. In: Giannakopoulou, D., Orejas, F. (eds.) FASE 2011. LNCS, vol. 6603, pp. 447–461. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  31. Robillard, M.P., Weigand-Warr, F.: ConcernMapper: simple view-based separation of scattered concerns. In: Workshop on Eclipse technology eXchange at OOPSLA 2005, San Diego, CA (2005)

    Google Scholar 

  32. Ryder, B.G., Tip, F.: Change impact analysis for object-oriented programs. In: 3rd ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, Snowbird, Utah (2001)

    Google Scholar 

  33. Sant’Anna, C., Garcia, A., Chavez, C., Lucena, C., von Staa, A.: On the Reuse and Maintenance of Aspect-Oriented Software: An Assessment Framework. In: 17th Brazilian Symposium on Software Engineering (SEES 2003), Manaus, Brazil (2003)

    Google Scholar 

  34. Standish, T.: An essay on software reuse. IEEE Transactions on Software Engineering 10(5), 494–497 (1984)

    Article  Google Scholar 

  35. Storey, M.D., Fracchia, F.D., MĂŒller, H.A.: Cognitive design elements to support the construction of a mental model during software exploration. J. Syst. Softw. 44(3), 171–185 (1999)

    Article  Google Scholar 

  36. Tarr, P., Ossher, H., Harrison, W., Sutton, S.M.: N degrees of separation: multi-dimensional separation of concerns. In: 21st International Conference on Software Engineering (ICSE 2009), Los Angeles, California (1999)

    Google Scholar 

  37. Taveira, J., Oliveira, H., Castor, F., Soares, S.: On Inter-Application Reuse of Exception Handling Aspects. In: Workshop on Empirical Evaluation of Software Composition Techniques at AOSD 2010, Rennes, France (2010)

    Google Scholar 

  38. Taveira, J.C., et al.: Assessing Intra-Application Exception Handling Reuse with Aspects. In: 23rd Brazilian Symposium on Software Engineering (SBES 2009), Fortaleza, Brazil (2009)

    Google Scholar 

  39. Tourwé, T., Brichau, J., Gybels, K.: On the Existence of the AOSD-Evolution Paradox. In: AOSD 2003 Workshop on Software-engineering Properties of Languages for Aspect Technologies, Boston, Massachusetts (2003)

    Google Scholar 

  40. Zhang, S., Gu, Z., Lin, Y., Zhao, J.: Change impact analysis for AspectJ programs. In: 24th IEEE International Conference on Software Maintenance, Beijing, China (2008)

    Google Scholar 

  41. Zhao, J.: Measuring Coupling in Aspect-Oriented Systems. In: 10th International Software Metrics Symposium, Chicago, Illinois (2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

PrzybyƂek, A. (2011). Systems Evolution and Software Reuse in Object-Oriented Programming and Aspect-Oriented Programming. In: Bishop, J., Vallecillo, A. (eds) Objects, Models, Components, Patterns. TOOLS 2011. Lecture Notes in Computer Science, vol 6705. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21952-8_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-21952-8_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-21951-1

  • Online ISBN: 978-3-642-21952-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics