Resourceful systems for fault tolerance, reliability, and safety
ACM Computing Surveys (CSUR)
Towards a method of programming with assertions
ICSE '92 Proceedings of the 14th international conference on Software engineering
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Architectural mismatch or why it's hard to build systems out of existing parts
Proceedings of the 17th international conference on Software engineering
Towards a taxonomy of architecture integration strategies
ISAW '98 Proceedings of the third international workshop on Software architecture
Software architecture classification for estimating the cost of COTS integration
Proceedings of the 21st international conference on Software engineering
Towards a taxonomy of software connectors
Proceedings of the 22nd international conference on Software engineering
A study on exception detection and handling using aspect-oriented programming
Proceedings of the 22nd international conference on Software engineering
Designing an aspect-oriented framework in an object-oriented environment
ACM Computing Surveys (CSUR)
Eliminating Exception Handling Errors with Dependability Cases: A Comparative, Empirical Study
IEEE Transactions on Software Engineering
Component Software: Beyond Object-Oriented Programming
Component Software: Beyond Object-Oriented Programming
Journal of Systems and Software
A survey of rollback-recovery protocols in message-passing systems
ACM Computing Surveys (CSUR)
Fault Tolerance: Principles and Practice
Fault Tolerance: Principles and Practice
Roll-Forward Checkpointing Scheme: A Novel Fault-Tolerant Architecture
IEEE Transactions on Computers
Condition handling in the Lisp language family
Advances in exception handling techniques
Exception Handling in Component-Based System Development
COMPSAC '01 Proceedings of the 25th International Computer Software and Applications Conference on Invigorating Software Development
A program structure for error detection and recovery
Operating Systems, Proceedings of an International Symposium
Improving Software Robustness with Dependability Cases
FTCS '98 Proceedings of the The Twenty-Eighth Annual International Symposium on Fault-Tolerant Computing
Recovery blocks in action: A system supporting high reliability
ICSE '76 Proceedings of the 2nd international conference on Software engineering
System structure for software fault tolerance
Proceedings of the international conference on Reliable software
Coordinated Exception Handling in Distributed Object Systems: From Model to System Implementation
ICDCS '98 Proceedings of the The 18th International Conference on Distributed Computing Systems
Criteria for Testing Exception-Handling Constructs in Java Programs
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
ISSRE '99 Proceedings of the 10th International Symposium on Software Reliability Engineering
Static analysis to support the evolution of exception structure in object-oriented systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
Automatic detection and repair of errors in data structures
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Automatic Detection and Masking of Nonatomic Exception Handling
IEEE Transactions on Software Engineering
Basic Concepts and Taxonomy of Dependable and Secure Computing
IEEE Transactions on Dependable and Secure Computing
Computer
Exception handling in the development of dependable component-based systems
Software—Practice & Experience - Research Articles
Robustness Testing of Java Server Applications
IEEE Transactions on Software Engineering
A Comprehensive Model for Software Rejuvenation
IEEE Transactions on Dependable and Secure Computing
Software Testing and Analysis: Process, Principles and Techniques
Software Testing and Analysis: Process, Principles and Techniques
Rx: treating bugs as allergies---a safe method to survive software failures
Proceedings of the twentieth ACM symposium on Operating systems principles
Preliminary design of JML: a behavioral interface specification language for java
ACM SIGSOFT Software Engineering Notes
Automated Techniques for Surviving (Otherwise) Fatal Software Errors
Electronic Notes in Theoretical Computer Science (ENTCS)
Microreboot — A technique for cheap recovery
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
Proceedings of the 2007 ACM workshop on Parallel and distributed systems: testing and debugging
Exception Handling and Software Fault Tolerance
IEEE Transactions on Computers
The N-Version Approach to Fault-Tolerant Software
IEEE Transactions on Software Engineering
Failure Analysis of Open Source J2EE Application Servers
QSIC '07 Proceedings of the Seventh International Conference on Quality Software
Towards Self-Protecting Enterprise Applications
ISSRE '07 Proceedings of the The 18th IEEE International Symposium on Software Reliability
Toward an understanding of bug fix patterns
Empirical Software Engineering
In-field healing of integration problems with COTS components
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Architecting fault tolerance with exception handling: verification and validation
Journal of Computer Science and Technology
A Case for Automatic Exception Handling
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Handling Software Faults with Redundancy
Architecting Dependable Systems VI
Exception Handling for Repair in Service-Based Processes
IEEE Transactions on Software Engineering
Automated fixing of programs with contracts
Proceedings of the 19th international symposium on Software testing and analysis
Automatic workarounds for web applications
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
Bristlecone: Language Support for Robust Software Applications
IEEE Transactions on Software Engineering
Mining temporal specifications from object usage
Automated Software Engineering
Towards an engineering approach to component adaptation
Proceedings of the 2004 international conference on Architecting Systems with Trustworthy Components
Exception handling: a field study in Java and .NET
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Hi-index | 0.00 |
To design effective exception handlers, developers must predict at design time the exceptional events that may occur at runtime, and must implement the corresponding handlers on the basis of their predictions. Designing exception handlers for component-based software systems is particularly difficult because the information required to build handlers is distributed between component and application developers. Component developers know the internal details of the components but ignore the applications, while application developers own the applications but cannot access the details required to implement handlers in components. This article addresses the problem of automatically healing the infield failures that are caused by faulty integration of OTS components. In the article, we propose a technique and a methodology to decouple the tasks of component and application developers, who will be able to share information asynchronously and independently, and communicate implicitly by developing and deploying what we call healing connectors. Component developers implement healing connectors on the basis of information about the integration problems frequently experienced by application developers. Application developers easily and safely install healing connectors in their applications without knowing the internal details of the connectors. Healing connectors heal failures activated by exceptions raised in the OTS components actually deployed in the system. The article defines healing connectors, introduces a methodology to develop and deploy healing connectors, and presents several case studies that indicate that healing connectors are effective, reusable and efficient.