Docovery: Toward generic automatic document recovery
File(s)docovery-ase-14.pdf (1.26 MB)
Accepted version
Author(s)
Kuchta, T
Cadar, C
Castro, MAH
Costa, M
Type
Conference Paper
Abstract
© 2014 ACM. Application crashes and errors that occur while loading a document are one of the most visible defects of consumer software. While documents become corrupted in various waysfrom storage media failures to incompatibility across applications to malicious modificationsthe underlying reason they fail to load in a certain application is that their contents cause the application logic to exercise an uncommon execution path which the software was not designed to handle, or which was not properly tested. We present Docovery, a novel document recovery technique based on symbolic execution that makes it possible to fix broken documents without any prior knowledge of the file format. Starting from the code path executed when opening a broken document, Docovery explores alternative paths that avoid the error, and makes small changes to the document in order to force the application to follow one of these alternative paths. We implemented our approach in a prototype tool based on the symbolic execution engine KLEE. We present a preliminary case study, which shows that Docovery can successfully recover broken documents processed by several popular applications such as the e-mail client pine, the pagination tool pr and the binary file utilities dwarfdump and readelf.
Date Issued
2014-01-01
Date Acceptance
2014-01-01
Citation
ASE '14 Proceedings of the 29th ACM/IEEE international conference on Automated software engineering, 2014, pp.563-573
ISBN
9781450330138
Publisher
Association for Computing Machinery
Start Page
563
End Page
573
Journal / Book Title
ASE '14 Proceedings of the 29th ACM/IEEE international conference on Automated software engineering
Copyright Statement
© ACM, 2014. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in ASE '14 Proceedings of the 29th ACM/IEEE international conference on Automated software engineering, 2014. http://doi.acm.org/10.114510.1145/2642937.2643004
Source
29th IEEE/ACM International Conference on Automated Software Engineering (ASE 2014)
Start Date
2014-09-15
Finish Date
2014-09-19
Coverage Spatial
Vasteras, Sweden