Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. MIT Open Access Articles
  3. MIT Open Access Articles
  4. Automatically identifying critical input regions and code in applications

Automatically identifying critical input regions and code in applications

Thumbnail Image
Download
Name

Rinard_Automatically identifying.pdf

Size

318.07 KB

Format

Adobe PDF

Checksum (MD5)

0fb5187d8fcbd4a1190b794318770a31

Author(s)
Carbin, Michael James
•
Rinard, Martin C.
Date Issued
July 2010
Journal
Proceedings of the 19th international symposium on Software testing and analysis
Publisher
Association for Computing Machinery
Citation
Michael 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-48
Version
Author's final manuscript
Abstract
Applications 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).
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
Creative Commons Attribution-Noncommercial-Share Alike 3.0
http://creativecommons.org/licenses/by-nc-sa/3.0/
Persistent DSpace Link
http://hdl.handle.net/1721.1/62576
DOI of Published Version
https://doi.org/10.1145/1831708.1831713
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.