Software fault tolerance in real-time systems
Information Sciences: an International Journal
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
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
Exception handling: issues and a proposed notation
Communications of the ACM
Interprocedural exception analysis for Java
Proceedings of the 2001 ACM symposium on Applied computing
Endo-testing: unit testing with mock objects
Extreme programming examined
Extending and evaluating flow-insenstitive and context-insensitive points-to analyses for Java
PASTE '01 Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Communications of the ACM
Design pattern implementation in Java and aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the 2nd international conference on Aspect-oriented software development
Key assignment for enforcing access control policy exceptions in distributed systems
Information Sciences: an International Journal
Analysis of Programs with Exception-Handling Constructs
ICSM '98 Proceedings of the International Conference on Software Maintenance
Criteria for Testing Exception-Handling Constructs in Java Programs
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Data-Flow-Based Unit Testing of Aspect-Oriented Programs
COMPSAC '03 Proceedings of the 27th Annual International Conference on Computer Software and Applications
Proceedings of the 3rd international conference on Aspect-oriented software development
The Art of Software Testing
Automated Support for Development, Maintenance, and Testing in the Presence of Implicit Control Flow
Proceedings of the 26th International Conference on Software Engineering
An uncaught exception analysis for Java
Journal of Systems and Software
Static and dynamic analysis of call chains in java
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Verifying aspect advice modularly
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
Distributing classes with woven concerns: an exploration of potential fault scenarios
Proceedings of the 4th international conference on Aspect-oriented software development
Robustness Testing of Java Server Applications
IEEE Transactions on Software Engineering
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
A framework and tool supports for generating test inputs of AspectJ programs
Proceedings of the 5th international conference on Aspect-oriented software development
Distribution and persistence as aspects
Software—Practice & Experience - Research Articles
Aspectual mixin layers: aspects and features in concert
Proceedings of the 28th international conference on Software engineering
Discovering faults in idiom-based exception handling
Proceedings of the 28th international conference on Software engineering
State-based testing of integration aspects
Proceedings of the 2nd workshop on Testing aspect-oriented programs
Testing aspect-oriented programming Pointcut Descriptors
Proceedings of the 2nd workshop on Testing aspect-oriented programs
Detecting Redundant Unit Tests for AspectJ Programs
ISSRE '06 Proceedings of the 17th International Symposium on Software Reliability Engineering
Exception-Chain Analysis: Revealing Exception Handling Architecture in Java Server Applications
ICSE '07 Proceedings of the 29th international conference on Software Engineering
On the Contributions of an End-to-End AOSD Testbed
ICSEW '07 Proceedings of the 29th International Conference on Software Engineering Workshops
Efficient Mutant Generation for Mutation Testing of Pointcuts in Aspect-Oriented Programs
MUTATION '06 Proceedings of the Second Workshop on Mutation Analysis
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
Evolving software product lines with aspects: an empirical study on design stability
Proceedings of the 30th international conference on Software engineering
Eclipse aspectj: aspect-oriented programming with aspectj and the eclipse aspectj development tools
Eclipse aspectj: aspect-oriented programming with aspectj and the eclipse aspectj development tools
Assessing the Impact of Aspects on Exception Flows: An Exploratory Study
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Experiences with Mobile Games Product Line Development at Meantime
SPLC '08 Proceedings of the 2008 12th International Software Product Line Conference
A catalogue of bug patterns for exception handling in aspect-oriented programs
Proceedings of the 15th Conference on Pattern Languages of Programs
Open modules: modular reasoning about advice
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
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
The crosscutting impact of the AOSD Brazilian research community
Journal of Systems and Software
Hi-index | 0.07 |
As aspects extend or replace existing functionality at specific join points in the code, their behavior may raise new exceptions, which can flow through the program execution in unexpected ways. Assuring the reliability of exception handling code in aspect-oriented (AO) systems is a challenging task. Testing the exception handling code is inherently difficult, since it is tricky to provoke all exceptions during tests, and the large number of different exceptions that can happen in a system may lead to the test-case explosion problem. Moreover, we have observed that some properties of AO programming (e.g., quantification, obliviousness) may conflict with characteristics of exception handling mechanisms, exacerbating existing problems (e.g., uncaught exceptions). The lack of verification approaches for exception handling code in AO systems stimulated the present work. This work presents a verification approach based on a static analysis tool, called SAFE, to check the reliability of exception handling code in AspectJ programs. We evaluated the effectiveness and feasibility of our approach in two complementary ways (i) by investigating if the SAFE tool is precise enough to uncover exception flow information and (ii) by applying the approach to three medium-sized ApectJ systems from different application domains.