Monday, October 6, 2014
Speaker: Martin Rinard
Venue: IST Austria
Code Transfer (HCT) and Condition Synthesis/Compound Mutations (CSCM).
HCT works with multiple applications that process the same input file
format. It first finds a defect in one of the applications, then
locates code in one or more of the other applications that eliminates
the defect. It then extracts and transfers this code from the donor
application into the recepient application to eliminate the defect in
the recepient. Our implementation generates source-level patches, but
can extract and transfer code from stripped binary donor applications
with no need for donor source code. It can therefore support a wide
range of use cases.
CSCM works with a test suite that exposes a defect. It automatically
generates a search space of potential patches, then searches this
space to find patches that enable the application to successfully
process all test cases in the test suite. Novel techniques include
condition synthesis, which automatically synthesizes expressions that
patch incorrect conditions in if statements, and a set of compound
mutations that build on condition synthesis to generate a rich and
efficiently searchable space of candidate patches.