Analyzing exception flow in Java programs
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Experimentation in software engineering: an introduction
Experimentation in software engineering: an introduction
A study on exception detection and handling using aspect-oriented programming
Proceedings of the 22nd international conference on Software engineering
Designing robust Java programs with exceptions
SIGSOFT '00/FSE-8 Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications
Journal of Systems and Software
Bug Patterns in Java
Design pattern implementation in Java and aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Conquering aspects with Caesar
Proceedings of the 2nd international conference on Aspect-oriented software development
Proceedings of the 2nd international conference on Aspect-oriented software development
Static analysis to support the evolution of exception structure in object-oriented systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
An uncaught exception analysis for Java
Journal of Systems and Software
Verifying aspect advice modularly
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
A classification system and analysis for aspect-oriented programs
Proceedings of the 12th ACM SIGSOFT twelfth 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
Robustness Testing of Java Server Applications
IEEE Transactions on Software Engineering
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Distribution and persistence as aspects
Software—Practice & Experience - Research Articles
Discovering faults in idiom-based exception handling
Proceedings of the 28th international conference on Software engineering
Exceptions and aspects: the devil is in the details
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Exception-Chain Analysis: Revealing Exception Handling Architecture in Java Server Applications
ICSE '07 Proceedings of the 29th international conference on Software Engineering
On Identifying Bug Patterns in Aspect-Oriented Programs
COMPSAC '07 Proceedings of the 31st Annual International Computer Software and Applications Conference - Volume 01
An Integrated Crosscutting Concern Migration Strategy and its Application to JHOTDRAW
SCAM '07 Proceedings of the Seventh IEEE International Working Conference on Source Code Analysis and Manipulation
On the Quantitative Analysis of Architecture Stability in Aspectual Decompositions
WICSA '08 Proceedings of the Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008)
EJFlow: taming exceptional control flows in aspect-oriented programming
Proceedings of the 7th international conference on Aspect-oriented software development
Evolving software product lines with aspects: an empirical study on design stability
Proceedings of the 30th international conference on Software engineering
Mutation Testing for Aspect-Oriented Programs
ICST '08 Proceedings of the 2008 International Conference on Software Testing, Verification, and Validation
Aspect-oriented software development
Aspect-oriented software development
Open modules: modular reasoning about advice
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Aspect categories and classes of temporal properties
Transactions on Aspect-Oriented Software Development I
Exception handling: a field study in Java and .NET
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
On the impact of aspectual decompositions on design stability: an empirical study
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Aspects, Dependencies and Interactions
Object-Oriented Technology. ECOOP 2008 Workshop Reader
Avoiding confusion with exception handling in aspect-oriented programming
Proceedings of the tenth international conference on Aspect-oriented software development companion
A semantics for execution levels with exceptions
Proceedings of the 10th international workshop on Foundations of aspect-oriented languages
Information Sciences: an International Journal
On the interplay of exception handling and design by contract: an aspect-oriented recovery approach
Proceedings of the 13th Workshop on Formal Techniques for Java-Like Programs
Information and Software Technology
The crosscutting impact of the AOSD Brazilian research community
Journal of Systems and Software
Hi-index | 0.00 |
Exception handling mechanisms are intended to support the development of robust software. However, the implementation of such mechanisms with aspect-oriented (AO) programming might lead to error-prone scenarios. As aspects extend or replace existing functionality at specific join points in the code execution, aspects' behavior may bring new exceptions, which can flow through the program execution in unexpected ways. This paper presents a systematic study that assesses the error proneness of AOP mechanisms on exception flows of evolving programs. The analysis was based on the object-oriented and the aspect-oriented versions of three medium-sized systems from different application domains. Our findings show that exception handling code in AO systems is error-prone, since all versions analyzed presented an increase in the number of uncaughtexceptions and exceptions caught by the wrong handler. The causes of such problems are characterized and presented as a catalogue of bug patterns.