Show simple item record

dc.contributor.authorLong, Fan
dc.contributor.authorSidiroglou-Douskos, Stelios
dc.contributor.authorRinard, Martin
dc.date.accessioned2020-05-12T19:05:48Z
dc.date.available2020-05-12T19:05:48Z
dc.date.issued2014-06
dc.identifier.isbn9781450327848
dc.identifier.urihttps://hdl.handle.net/1721.1/125189
dc.description.abstractWe 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. We evaluate RCV on all divide-by-zero and null-dereference errors available in the CVE database [2] from January 2011 to March 2013 that 1) provide publicly-available inputs that trigger the error which 2) we were able to use to trigger the reported error in our experimental environment. We collected a total of 18 errors in seven real world applications, Wireshark, the FreeType library , Claws Mail, LibreOffice, GIMP, the PHP interpreter, and Chromium. For 17 of the 18 errors, RCV enables the application to continue to execute to provide acceptable output and service to its users on the error-triggering inputs. For 13 of the 18 errors, the continued RCV execution eventually flushes all of the repair effects and RCV detaches to restore the application to full clean functionality. We perform a manual analysis of the source code relevant to our benchmark errors, which indicates that for 11 of the 18 errors the RCV and later patched versions produce identical or equivalent results on all inputs.en_US
dc.description.sponsorshipDARPA (Grant FA8650-11-C-7192)en_US
dc.language.isoen
dc.publisherACM Pressen_US
dc.relation.isversionofhttp://dx.doi.org/10.1145/2594291.2594337en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alikeen_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/4.0/en_US
dc.sourceMIT web domainen_US
dc.titleAutomatic runtime error repair and containment via recovery shepherdingen_US
dc.typeArticleen_US
dc.identifier.citationLong, Fan, Stelios Sidiroglou-Douskos, and Martin Rinard. "Automatic runtime error repair and containment via recovery shepherding." 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, June 2014, Edinburgh, United Kingdom, Association for Computing Machinery, 2014.en_US
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratoryen_US
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Scienceen_US
dc.relation.journalPLDI '14: Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementationen_US
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
eprint.statushttp://purl.org/eprint/status/NonPeerRevieweden_US
dc.date.updated2019-07-02T15:59:40Z
dspace.date.submission2019-07-02T15:59:41Z
mit.metadata.statusComplete


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record