N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
A study on exception detection and handling using aspect-oriented programming
Proceedings of the 22nd international conference on Software engineering
Exception handling: issues and a proposed notation
Communications of the ACM
Journal of Systems and Software
Fault Tolerance: Principles and Practice
Fault Tolerance: Principles and Practice
Design pattern implementation in Java and aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
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
Conquering aspects with Caesar
Proceedings of the 2nd international conference on Aspect-oriented software development
AOP: Does It Make Sense? The Case of Concurrency and Failures
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
A recovery mechanism for modular software
ICSE '79 Proceedings of the 4th international conference on Software engineering
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
Automatic Detection and Masking of Nonatomic Exception Handling
IEEE Transactions on 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
abc: an extensible AspectJ compiler
Proceedings of the 4th international conference on Aspect-oriented software development
Towards a catalog of aspect-oriented refactorings
Proceedings of the 4th international conference on Aspect-oriented software development
Deriving refactorings for AspectJ
Proceedings of the 4th international conference on Aspect-oriented software development
Deriving refactorings for AspectJ
Proceedings of the 4th international conference on Aspect-oriented software development
Software Reuse Research: Status and Future
IEEE Transactions on Software Engineering
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Horizontal decomposition of Prevayler
CASCON '05 Proceedings of the 2005 conference of the Centre for Advanced Studies on Collaborative research
A join point for loops in AspectJ
Proceedings of the 5th international conference on Aspect-oriented software development
Composing design patterns: a scalability study of aspect-oriented programming
Proceedings of the 5th international conference on Aspect-oriented software development
AO challenge - implementing the ACID properties for transactional objects
Proceedings of the 5th international conference on Aspect-oriented software development
Exceptions and aspects: the devil is in the details
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Tool-Supported Refactoring of Existing Object-Oriented Code into Aspects
IEEE Transactions on Software Engineering
Identifying, Assigning, and Quantifying Crosscutting Concerns
ACoM '07 Proceedings of the First International Workshop on Assessment of Contemporary Modularization Techniques
Exceptional situations and program reliability
ACM Transactions on Programming Languages and Systems (TOPLAS)
EJFlow: taming exceptional control flows in aspect-oriented programming
Proceedings of the 7th international conference on Aspect-oriented software development
Towards reusable components with aspects: an empirical study on modularity and obliviousness
Proceedings of the 30th international conference on Software engineering
Evolving software product lines with aspects: an empirical study on design stability
Proceedings of the 30th international conference on Software engineering
Proceedings of the 8th workshop on Aspects, components, and patterns for infrastructure software
Modularizing design patterns with aspects: a quantitative study
Transactions on Aspect-Oriented Software Development I
On the impact of aspectual decompositions on design stability: an empirical study
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Avoiding confusion with exception handling in aspect-oriented programming
Proceedings of the tenth international conference on Aspect-oriented software development companion
Where the truth lies: AOP and its impact on software modularity
FASE'11/ETAPS'11 Proceedings of the 14th international conference on Fundamental approaches to software engineering: part of the joint European conferences on theory and practice of software
Towards evolvable software architectures based on systems theoretic stability
Software—Practice & Experience
Hi-index | 0.00 |
This paper presents an in-depth study of the adequacy of the AspectJ language for modularizing and reusing exception-handling code. The study consisted of refactoring existing applications so that the code responsible for implementing error-handling strategies was moved to newly created exception handler aspects. We have performed quantitative assessments of five systems—four object-oriented and one aspect-oriented—based on four key quality attributes, namely separation of concerns, coupling, cohesion, and conciseness. Our investigation also included a multi-perspective analysis of the refactored systems, including (i) the extent to which error-handling aspects can be reused, (ii) the beneficial and harmful aspectization scenarios for exception handling, and (iii) the scalability of AOP to support the modularization of exception handling in the presence of other aspects. Copyright © 2009 John Wiley & Sons, Ltd.