Error recovery in asynchronous systems
IEEE Transactions on Software Engineering
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Software metrics (2nd ed.): a rigorous and practical approach
Software metrics (2nd ed.): a rigorous and practical approach
A study on exception detection and handling using aspect-oriented programming
Proceedings of the 22nd international conference on Software engineering
Does aspect-oriented programming work?
Communications of the ACM
Fault Tolerance: Principles and Practice
Fault Tolerance: Principles and Practice
Implementing distribution and persistence aspects with aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
AOP: Does It Make Sense? The Case of Concurrency and Failures
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
An Aspect Language for Robust Programming
Proceedings of the Workshop on Object-Oriented Technology
Eos: instance-level aspects for integrated system design
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Summarization of dynamic content in web collections
PKDD '04 Proceedings of the 8th European Conference on Principles and Practice of Knowledge Discovery in Databases
Towards a catalog of aspect-oriented refactorings
Proceedings of the 4th international conference on Aspect-oriented software development
Information hiding interfaces for aspect-oriented design
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Horizontal decomposition of Prevayler
CASCON '05 Proceedings of the 2005 conference of the Centre for Advanced Studies on Collaborative research
Composing design patterns: a scalability study of aspect-oriented programming
Proceedings of the 5th international conference on Aspect-oriented software development
Driving and managing architectural decisions with aspects
ACM SIGSOFT Software Engineering Notes
A modular implementation framework for code mobility
Mobility '06 Proceedings of the 3rd international conference on Mobile technology, applications & systems
An aspect-oriented software architecture for code mobility
Software—Practice & Experience
An approach to improving the structure of error-handling code in the linux kernel
Proceedings of the 2011 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems
Hi-index | 0.00 |
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.