Automatic Program Repair with Condition Synthesis and Compound Mutations
Name
MIT-CSAIL-TR-2015-004.pdf
Size
313.25 KB
Format
Adobe PDF
Checksum (MD5)
f252097f164df18178d04580eca81334
Download all files submitted through automated deposit
Author(s) • • •
Long, Fan
Qi, Zichao
Achour, Sara
Rinard, Martin
Advisor(s)
Martin Rinard
Date Issued
February 12, 2015
Series/Report no.
MIT-CSAIL-TR-2015-004
Abstract
We present PCR, a new automatic patch generation system. PCR uses a new condition synthesis technique to efficiently discover logical expressions that generate desired control- flow transfer patterns. Presented with a set of test cases, PCR deploys condition synthesis to find and repair incorrect if conditions that cause the application to produce the wrong result for one or more of the test cases. PCR also leverages condition synthesis to obtain a set of compound modifications that generate a rich, productive, and tractable search space of candidate patches. We evaluate PCR on a set of 105 defects from the GenProg benchmark set. For 40 of these defects, PCR generates plausible patches (patches that generate correct outputs for all inputs in the test suite used to validate the patch). For 12 of these defects, PCR generates correct patches that are functionally equivalent to developer patches that appear in subsequent versions. For comparison purposes, GenProg generates plausible patches for only 18 defects and correct patches for only 2 defects. AE generates plausible patches for only 27 defects and correct patches for only 3 defects.
Persistent DSpace Link