Using Rescue Points to Navigate Software Recovery

  • Authors:
  • Stelios Sidiroglou;Oren Laadan;Angelos D. Keromytis;Jason Nieh

  • Affiliations:
  • Columbia University;Columbia University;Columbia University;Columbia University

  • Venue:
  • SP '07 Proceedings of the 2007 IEEE Symposium on Security and Privacy
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.