Automatic Program Repair with Condition Synthesis and Compound Mutations

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...

Full description

Bibliographic Details
Main Authors: Long, Fan, Qi, Zichao, Achour, Sara, Rinard, Martin
Other Authors: Martin Rinard
Published: 2015
Online Access:http://hdl.handle.net/1721.1/94520
_version_ 1811094320965484544
author Long, Fan
Qi, Zichao
Achour, Sara
Rinard, Martin
author2 Martin Rinard
author_facet Martin Rinard
Long, Fan
Qi, Zichao
Achour, Sara
Rinard, Martin
author_sort Long, Fan
collection MIT
description 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.
first_indexed 2024-09-23T15:58:10Z
id mit-1721.1/94520
institution Massachusetts Institute of Technology
last_indexed 2024-09-23T15:58:10Z
publishDate 2015
record_format dspace
spelling mit-1721.1/945202019-04-11T00:55:54Z Automatic Program Repair with Condition Synthesis and Compound Mutations Long, Fan Qi, Zichao Achour, Sara Rinard, Martin Martin Rinard Computer Architecture 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. 2015-02-12T21:00:03Z 2015-02-12T21:00:03Z 2015-02-12 2015-02-12T21:00:03Z http://hdl.handle.net/1721.1/94520 MIT-CSAIL-TR-2015-004 14 p. application/pdf
spellingShingle Long, Fan
Qi, Zichao
Achour, Sara
Rinard, Martin
Automatic Program Repair with Condition Synthesis and Compound Mutations
title Automatic Program Repair with Condition Synthesis and Compound Mutations
title_full Automatic Program Repair with Condition Synthesis and Compound Mutations
title_fullStr Automatic Program Repair with Condition Synthesis and Compound Mutations
title_full_unstemmed Automatic Program Repair with Condition Synthesis and Compound Mutations
title_short Automatic Program Repair with Condition Synthesis and Compound Mutations
title_sort automatic program repair with condition synthesis and compound mutations
url http://hdl.handle.net/1721.1/94520
work_keys_str_mv AT longfan automaticprogramrepairwithconditionsynthesisandcompoundmutations
AT qizichao automaticprogramrepairwithconditionsynthesisandcompoundmutations
AT achoursara automaticprogramrepairwithconditionsynthesisandcompoundmutations
AT rinardmartin automaticprogramrepairwithconditionsynthesisandcompoundmutations