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...
Main Authors: | , , , |
---|---|
Other Authors: | |
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 |