Computer Science Colloquia
Thursday, May 1, 2014
Advisors: Jack Davidson & Yanjun "Jane" Qi
Attending Faculty: John Knight (Chair), Jim Cohoon, and Anh Nguyen
8:00 AM, Rice Hall, Rm. 404
PhD Qualifying Exam Presentation
Coverage-based Input Type Detection for Executables
Despite the advances in automated software testing, current techniques still do not consistently achieve high code coverage in practice. One of the reasons for this deficiency is the required construction of the input types that an executable is intended to process. If these types, referred to as compatible input types, are determined in advance, they can be used to seed automated testing tools to obtain higher code coverage.
Typically, an executable is designed to process a set of compatible input types. Depending on the executable, the cardinality of this set will vary greatly. The most common applications are consume-selective which only process types (e.g., pdf, gif, or avi) specific to their domains. Detecting compatible input types for these applications without any documentation or debugging information is a challenging problem. Under the hypothesis that most applications show distinguishable dynamic signatures when executed on their compatible input types versus incompatible ones, we investigated various techniques to verify this claim using static and dynamic analyses. These investigations led to the development of a method that could identify compatible input types of an executable with high accuracy.