REASSURE: A Self-contained Mechanism for Healing Software Using Rescue Points [chapter]

Georgios Portokalidis, Angelos D. Keromytis
2011 Lecture Notes in Computer Science  
Software errors are frequently responsible for the limited availability of Internet Services, loss of data, and many security compromises. Self-healing using rescue points (RPs) is a mechanism that can be used to recover software from unforeseen errors until a more permanent remedy, like a patch or update, is available. We present RE-ASSURE, a self-contained mechanism for recovering from such errors using RPs. Essentially, RPs are existing code locations that handle certain anticipated errors
more » ... the target application, usually by returning an error code. REASSURE enables the use of these locations to also handle unexpected faults. This is achieved by rolling back execution to a RP when a fault occurs, returning a valid error code, and enabling the application to gracefully handle the unexpected error itself. REAS-SURE can be applied on already running applications, while disabling and removing it is equally facile. We tested REASSURE with various applications, including the MySQL and Apache servers, and show that it allows them to successfully recover from errors, while incurring moderate overhead between 1% and 115%. We also show that even under very adverse conditions, like their continuous bombardment with errors, REASSURE protected applications remain operational. Recurring fault in application without self-healing Rescue-point analysis ✔ ✔ Recurring fault in application with self-healing Recovery Crash
doi:10.1007/978-3-642-25141-2_2 fatcat:2jwia4ktabe2ndj4rycdg66roa