Using Rescue Points to Navigate Software Recovery

Sidiroglou, Stelios; Laadan, Oren; Keromytis, Angelos D.; Nieh, Jason

We present a new technique that enables software recovery in legacy applications by retrofitting exception-handling capabilities, error virtualization using rescue points. We introduce the idea of "rescue points" as program locations to which an application can recover its execution in the presence of failures. The use of rescue points reduces the chance of unanticipated execution paths thereby making recovery more robust by mimicking system behavior under controlled error conditions. These controlled error conditions can be thought of as a set erroneous inputs, like the ones used by most quality-assurance teams during software development, designed to stress-test an application. To discover rescue points applications are profiled and monitored during tests that bombard the program with bad/random inputs. The intuition is that by monitoring application behavior during these runs, we gain insight into how programmer-tested program points are used to propagate faults gracefully.



Also Published In

Samp; P 2007: IEEE Symposium on Security and Privacy: Proceedings: 20-23 May, 2007, Berkeley, California

More About This Work

Academic Units
Computer Science
Published Here
March 14, 2012