2014 · 90 citations · 26 references
Software MaintenanceEngineeringRecovery ShepherdingComputer ArchitectureSoftware EngineeringSoftware AnalysisFormal VerificationReliability EngineeringSoftware ApplicationsSystems EngineeringFault RecoveryNull-dereference ErrorsRuntime VerificationComputer EngineeringComputer ScienceStatic Program AnalysisRuntime SystemAutomated RepairFault InjectionProgram AnalysisSoftware TestingFormal MethodsSymbolic ExecutionSystem SoftwareNormal Execution
We present a system, RCV, for enabling software applications to survive divide-by-zero and null-dereference errors. RCV operates directly on off-the-shelf, production, stripped x86 binary executables. RCV implements recovery shepherding, which attaches to the application process when an error occurs, repairs the execution, tracks the repair effects as the execution continues, contains the repair effects within the application process, and detaches from the process after all repair effects are flushed from the process state. RCV therefore incurs negligible overhead during the normal execution of the application.
26
Chi-Keung Luk, Robert Cohn, Robert Muth et al. · ACM SIGPLAN Notices · 2005 · 3.2K citations
Engineering, Computer Architecture, Software Engineering +16
Chi-Keung Luk, Robert Cohn, Robert Muth et al. · 2005 · 2.3K citations
Engineering, Computer Architecture, Software Engineering +16
Automatically finding patches using genetic programming
Westley Weimer, ThanhVu Nguyen, Claire Le Goues et al. · 2009 · 758 citations