Academic Commons

Articles

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.

Subjects

Files

Also Published In

Title
Samp; P 2007: IEEE Symposium on Security and Privacy: Proceedings: 20-23 May, 2007, Berkeley, California
DOI
https://doi.org/10.1109/SP.2007.38

More About This Work

Academic Units
Computer Science
Publisher
IEEE
Published Here
March 14, 2012
Academic Commons provides global access to research and scholarship produced at Columbia University, Barnard College, Teachers College, Union Theological Seminary and Jewish Theological Seminary. Academic Commons is managed by the Columbia University Libraries.