Skip to main content

Aspectizing Exception Handling: A Quantitative Study

  • Chapter
Advanced Topics in Exception Handling Techniques

Abstract

It is usually assumed that the implementation of exception handling can be better modularized by the use of aspect-oriented programming (AOP). However, the trade-offs involved in using AOP with this goal are not yet well-understood. To the best of our knowledge, no work in the literature has attempted to assess whether AOP really promotes an enhancement in well-understood quality attributes other than separation of concerns, when used for modularizing non-trivial exception handling code. This paper presents a quantitative study of the adequacy of aspects for modularizing exception handling code. The study consisted in refactoring part of a real object-oriented system so that the code responsible for handling exceptions was moved to aspects. We employed a suite of metrics to measure quality attributes of the original and refactored systems, including coupling, cohesion, and conciseness. We found that AOP improved separation of concerns between exception handling code and normal application code. However, contradicting the general intuition, the aspect-oriented version of the system did not present significant gains for any of the four size metrics we employed.

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. Anderson, T., Lee, P.A.: Fault Tolerance: Principles and Practice, 2nd edn. Springer, Heidelberg (1990)

    MATH  Google Scholar 

  2. Cacho, N., Sant’Anna, C., Figueiredo, E., Garcia, A., Batista, T., Lucena, C.: Composing design patterns: A scalability study of aspect-oriented programming. In: Proceedings of the ACM Conference on Aspect-Oriented Software Development (AOSD 2006), Bonn, Germany (March 2006)

    Google Scholar 

  3. Campbell, R.H., Randell, B.: Error recovery in asynchronous systems. IEEE Transactions on Software Engineering SE-12(8), 811–826 (1986)

    Google Scholar 

  4. Filho, F.C., de Guerra, P.A.C., Pagano, V.A., Rubira, C.M.F.: A systematic approach for structuring exception handling in robust component-based software. Journal of the Brazilian Computer Society 10(3), 5–19 (2005)

    Google Scholar 

  5. Filho, F.C., et al.: Exceptions and aspects: The devil is in the details. Technical Report IC-06-08, State University of Campinas, Brazil (2006)

    Google Scholar 

  6. Filho, F.C., Rubira, C.M.F.: Implementing coordinated error recovery for distributed object-oriented systems with AspectJ. Journal of Universal Computer Science 10(7), 843–858 (2004)

    Google Scholar 

  7. Chidamber, S., Kemerer, C.: A metrics suite for oo design. IEEE Transactions on Software Engineering 20(6), 476–493 (1994)

    Article  Google Scholar 

  8. Fenton, N., Pfleeger, S.L.: Software Metrics: A Rigorous Practical Approach. PWS (1997)

    Google Scholar 

  9. Filman, R., Friedman, D.: Aspect-oriented programming is quantification and obliviousness. In: Proceedings of the Workshop on Advanced Separation of Concerns, OOPSLA 2000 (October 2000)

    Google Scholar 

  10. Frader, P., Südolt, M.: An aspect language for robust programming. In: Proceedings of the ECOOP 1999 Workshop on Aspect-Oriented Programming, Lisbon, Portugal (June 1999)

    Google Scholar 

  11. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Software Systems. Addison-Wesley, Reading (1995)

    Google Scholar 

  12. Garcia, A., Sant’Anna, C., Chavez, C., Silva, V., Lucena, C., von Staa, A.: Separation of concerns in multi-agent systems: An empirical study. In: Lucena, C., Garcia, A., Romanovsky, A., Castro, J., Alencar, P.S.C. (eds.) SELMAS 2003. LNCS, vol. 2940, pp. 49–72. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  13. Garcia, A., Sant’Anna, C., Figueiredo, E., Kulesza, U., Lucena, C., von Staa, A.: Modularizing design patterns with aspects: A quantitative study. In: Proceedings of the 4th ACM Conference on Aspect-Oriented Software Development, Chicago, IL, USA, pp. 3–14 (March 2005)

    Google Scholar 

  14. Godil, I., Jacobsen, H.: Horizontal decomposition of prevlayer. In: Proceedings of CASCON 2005. Richmond Hill, Canada (2005)

    Google Scholar 

  15. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  16. Kienzle, J., Guerraoui, R.: Aop: Does it make sense? the case of concurrency and failures. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, pp. 37–61. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  17. Kulesza, U., Sant’Anna, C., Garcia, A., Lucena, C.: Aspectization of persistence and distribution: Quantifying the effects of aop. In: 5th ACM/IEEE International Symposium on Empirical Software Engineering, Rio de Janeiro, Brazil (2006)

    Google Scholar 

  18. Laddad, R.: AspectJ in Action. Manning (2003)

    Google Scholar 

  19. Lippert, M., Lopes, C.V.: A study on exception detection and handling using aspect-oriented programming. In: Proceedings of the 22nd International Conference on Software Engineering (ICSE 2000), Limerick, Ireland, pp. 418–427 (June 2000)

    Google Scholar 

  20. Monteiro, M.P., Fernandes, J.M.: Towards a catalog of aspect-oriented refactorings. In: Proceedings of AOSD 2005, pp. 111–122 (March 2005)

    Google Scholar 

  21. Murphy, G., Walker, R., Baniassad, E., Robillard, M., Kersten, M.: Does aspect-oriented programming work? Communications of the ACM 44(10), 75–77 (2001)

    Article  Google Scholar 

  22. Rajan, H., Sullivan, K.: Eos: Instance-level aspects for integrated system design. In: Proceedings of Joint European Conference on Software Engineering/SIGSOFT Symposium on Foundations of Software Engineering (ESEC/FSE 2003), Helsinki, Finland (September 2003)

    Google Scholar 

  23. Sant’Anna, C., Garcia, A., Chavez, C., Lucena, C., von Staa, A.: On the reuse and maintanance of aspect-oriented software: An assessment framework. In: Proceedings of the 17th Brazilian Symposium on Software Engineering, pp. 19–34 (October 2003)

    Google Scholar 

  24. Soares, S.: An Aspect-Oriented Implementation Method. PhD thesis, Federal University of Pernambuco, Recife, Brazil (2004)

    Google Scholar 

  25. Soares, S., Laureano, E., Borba, P.: Implementing distribution and persistence aspects with aspectj. In: Proceedings of the ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2002), Seattle, USA, pp. 174–190 (November 2002)

    Google Scholar 

  26. Sullivan, K.J., Griswold, W.G., Song, Y., Cai, Y., Shonle, M., Tewari, N., Rajan, H.: Information hiding interfaces for aspect-oriented design. In: Proceedings of the 10th European Software Engineering Conference held jointly with 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering, Lisbon, Portugal, pp. 166–175 (September 2005)

    Google Scholar 

  27. Tigris. aopmetrics home page (2005), Address: http://aopmetrics.tigris.org

  28. Viega, J., Voas, J.M.: Can aspect-oriented programming lead to more reliable software. IEEE Software 17(6), 19–21 (2000)

    Article  Google Scholar 

  29. Zuse, H.: History of software measurement (2005), Address: http://irb.cs.tu-berlin.de/~zuse/metrics/History_00.html

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Filho, F.C., Rubira, C.M.F., de A. Maranhão Ferreira, R., Garcia, A. (2006). Aspectizing Exception Handling: A Quantitative Study. In: Dony, C., Knudsen, J.L., Romanovsky, A., Tripathi, A. (eds) Advanced Topics in Exception Handling Techniques. Lecture Notes in Computer Science, vol 4119. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11818502_14

Download citation

  • DOI: https://doi.org/10.1007/11818502_14

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-37443-5

  • Online ISBN: 978-3-540-37445-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics