Show simple item record

dc.contributor.authorCarbin, Michael James
dc.contributor.authorRinard, Martin C.
dc.date.accessioned2011-05-02T18:03:44Z
dc.date.available2011-05-02T18:03:44Z
dc.date.issued2010-07
dc.date.submitted2010-07
dc.identifier.isbn978-1-60558-823-0
dc.identifier.urihttp://hdl.handle.net/1721.1/62576
dc.description.abstractApplications that process complex inputs often react in different ways to changes in different regions of the input. Small changes to forgiving regions induce correspondingly small changes in the behavior and output. Small changes to critical regions, on the other hand, can induce disproportionally large changes in the behavior or output. Identifying the critical and forgiving regions in the input and the corresponding critical and forgiving regions of code is directly relevant to many software engineering tasks. We present a system, Snap, for automatically grouping related input bytes into fields and classifying each field and corresponding regions of code as critical or forgiving. Given an application and one or more inputs, Snap uses targeted input fuzzing in combination with dynamic execution and influence tracing to classify regions of input fields and code as critical or forgiving. Our experimental evaluation shows that Snap makes classifications with close to perfect precision (99%) and very good recall (between 99% and 73%, depending on the application).en_US
dc.description.sponsorshipUnited States. Defense Advanced Research Projects Agency (DARPA) (Cooperative Agreement FA8750-06-2-0189)en_US
dc.description.sponsorshipNational Science Foundation (U.S.) (Awards 0811397, 0835652, and 0905224)en_US
dc.language.isoen_US
dc.publisherAssociation for Computing Machineryen_US
dc.relation.isversionofhttp://dx.doi.org/10.1145/1831708.1831713en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alike 3.0en_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/3.0/en_US
dc.sourceMIT web domainen_US
dc.titleAutomatically identifying critical input regions and code in applicationsen_US
dc.typeArticleen_US
dc.identifier.citationMichael Carbin and Martin C. Rinard. 2010. Automatically identifying critical input regions and code in applications. In Proceedings of the 19th international symposium on Software testing and analysis (ISSTA '10). ACM, New York, NY, USA, 37-48en_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.contributor.approverRinard, Martin C.
dc.contributor.mitauthorCarbin, Michael James
dc.contributor.mitauthorRinard, Martin C.
dc.relation.journalProceedings of the 19th international symposium on Software testing and analysisen_US
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
dspace.orderedauthorsCarbin, Michael; Rinard, Martin C.en
dc.identifier.orcidhttps://orcid.org/0000-0001-8095-8523
mit.licenseOPEN_ACCESS_POLICYen_US
mit.metadata.statusComplete


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record