[Paper Review] Characterizing Self-Healing Software Systems
Short Introduction to This Paper
This paper characterizes self-healing software systems by surveying some of the existing work in the field. It maps the space of software self-healing capabilities and discusses the risks and limitations inherent in automatic-reaction schemes. The structure of this paper is quite clear, including "what", "why", "how" and "future directions" on self-healing systems.
Highlights of This Paper
Self-healing Systems: Future Directions
Fault detection
- Improving fault detection at lower memory and computation cost
- Using hardware features to improve fault detection and mitigation
- Using collections of nodes that collaborate in the detection of attacks and faults by exchanging profiling or fault-occurrence information
- Dynamic analysis of application behavior, possibly combined with a priori behavior profiling and code analysis techniques
- Using application-specific integrity policies
Fault recovery / mitigation
- Dealing with faults at different (higher) semantic levels
- Profiling applications to identify likely "correct" ways for fault recovery
- Using application-specific recovery policies that identify steps that the system must undertake to recover from different types of faults
Assurance
- Assuring the system will not cause damage in the course of healing an application
- Assuring the system cannot be exploited by an adversary to attack an otherwise secure system