Overfitting in semantics-based automated program repair
The primary goal of Automated Program Repair (APR) is to automatically fix buggy software, to reduce the manual bug-fix burden that presently rests on human developers. Existing APR techniques can be generally divided into two families: semantics- vs. heuristics-based. Semantics-based APR uses symbo...
Uloženo v:
| Vydáno v: | Empirical software engineering : an international journal Ročník 23; číslo 5; s. 3007 - 3033 |
|---|---|
| Hlavní autoři: | , , , |
| Médium: | Journal Article |
| Jazyk: | angličtina |
| Vydáno: |
New York
Springer US
01.10.2018
Springer Nature B.V |
| Témata: | |
| ISSN: | 1382-3256, 1573-7616 |
| On-line přístup: | Získat plný text |
| Tagy: |
Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
|
| Abstract | The primary goal of Automated Program Repair (APR) is to automatically fix buggy software, to reduce the manual bug-fix burden that presently rests on human developers. Existing APR techniques can be generally divided into two families: semantics- vs. heuristics-based. Semantics-based APR uses symbolic execution and test suites to extract semantic constraints, and uses program synthesis to synthesize repairs that satisfy the extracted constraints. Heuristic-based APR generates large populations of repair candidates via source manipulation, and searches for the best among them. Both families largely rely on a primary assumption that a program is correctly patched if the generated patch leads the program to pass all provided test cases. Patch correctness is thus an especially pressing concern. A repair technique may generate
overfitting
patches, which lead a program to pass all existing test cases, but fails to generalize beyond them. In this work, we revisit the overfitting problem with a focus on semantics-based APR techniques, complementing previous studies of the overfitting problem in heuristics-based APR. We perform our study using IntroClass and Codeflaws benchmarks, two datasets well-suited for assessing repair quality, to systematically characterize and understand the nature of overfitting in semantics-based APR. We find that similar to heuristics-based APR, overfitting also occurs in semantics-based APR in various different ways. |
|---|---|
| AbstractList | The primary goal of Automated Program Repair (APR) is to automatically fix buggy software, to reduce the manual bug-fix burden that presently rests on human developers. Existing APR techniques can be generally divided into two families: semantics- vs. heuristics-based. Semantics-based APR uses symbolic execution and test suites to extract semantic constraints, and uses program synthesis to synthesize repairs that satisfy the extracted constraints. Heuristic-based APR generates large populations of repair candidates via source manipulation, and searches for the best among them. Both families largely rely on a primary assumption that a program is correctly patched if the generated patch leads the program to pass all provided test cases. Patch correctness is thus an especially pressing concern. A repair technique may generate overfitting patches, which lead a program to pass all existing test cases, but fails to generalize beyond them. In this work, we revisit the overfitting problem with a focus on semantics-based APR techniques, complementing previous studies of the overfitting problem in heuristics-based APR. We perform our study using IntroClass and Codeflaws benchmarks, two datasets well-suited for assessing repair quality, to systematically characterize and understand the nature of overfitting in semantics-based APR. We find that similar to heuristics-based APR, overfitting also occurs in semantics-based APR in various different ways. The primary goal of Automated Program Repair (APR) is to automatically fix buggy software, to reduce the manual bug-fix burden that presently rests on human developers. Existing APR techniques can be generally divided into two families: semantics- vs. heuristics-based. Semantics-based APR uses symbolic execution and test suites to extract semantic constraints, and uses program synthesis to synthesize repairs that satisfy the extracted constraints. Heuristic-based APR generates large populations of repair candidates via source manipulation, and searches for the best among them. Both families largely rely on a primary assumption that a program is correctly patched if the generated patch leads the program to pass all provided test cases. Patch correctness is thus an especially pressing concern. A repair technique may generate overfitting patches, which lead a program to pass all existing test cases, but fails to generalize beyond them. In this work, we revisit the overfitting problem with a focus on semantics-based APR techniques, complementing previous studies of the overfitting problem in heuristics-based APR. We perform our study using IntroClass and Codeflaws benchmarks, two datasets well-suited for assessing repair quality, to systematically characterize and understand the nature of overfitting in semantics-based APR. We find that similar to heuristics-based APR, overfitting also occurs in semantics-based APR in various different ways. |
| Author | Goues, Claire Le Lo, David Thung, Ferdian Le, Xuan Bach D. |
| Author_xml | – sequence: 1 givenname: Xuan Bach D. orcidid: 0000-0001-5044-1582 surname: Le fullname: Le, Xuan Bach D. email: dxb.le.2013@phdis.smu.edu.sg organization: School of Information Systems, Singapore Management University – sequence: 2 givenname: Ferdian surname: Thung fullname: Thung, Ferdian organization: School of Information Systems, Singapore Management University – sequence: 3 givenname: David surname: Lo fullname: Lo, David organization: School of Information Systems, Singapore Management University – sequence: 4 givenname: Claire Le surname: Goues fullname: Goues, Claire Le organization: School of Computer Science, Carnegie Mellon University |
| BookMark | eNp9kE9LAzEUxINUsK1-AG8LnqN5ySbpHqX4Dwq96Dlks0lJ6WZrkhX89qasIAh6enOY35thFmgWhmARugZyC4TIuwREiBoTkLjhUmJ6hubAJcNSgJgVzVYUM8rFBVqktCeENLLmcyS3HzY6n7MPu8qHKtleh-xNwq1Otqv0mIde56KOcdhF3VfRHrWPl-jc6UOyV993id4eH17Xz3izfXpZ32-wYSAyloZCVxvrukavGuJca7XgFhhrgLVy1UFjSm9KrCaGdM4yBk0roaaudkIztkQ3098S_z7alNV-GGMokYoSyQUA46K45OQycUgpWqeMzzr7IeSo_UEBUaeV1LSSKiup00qKFhJ-kcfoex0__2XoxKTiDTsbfzr9DX0BB617eg |
| CitedBy_id | crossref_primary_10_1109_TSE_2023_3255177 crossref_primary_10_1145_3505247 crossref_primary_10_1145_3418461 crossref_primary_10_1145_3576039 crossref_primary_10_1145_3744900 crossref_primary_10_1109_ACCESS_2022_3145983 crossref_primary_10_1109_TSE_2021_3124323 crossref_primary_10_1145_3702971 crossref_primary_10_1007_s10664_019_09770_1 crossref_primary_10_1007_s11432_022_3803_9 crossref_primary_10_35784_jcsi_7389 crossref_primary_10_1145_3696450 crossref_primary_10_1109_TSE_2023_3269899 crossref_primary_10_1145_3364452_3364455 crossref_primary_10_1007_s10664_021_10010_8 crossref_primary_10_1007_s10664_019_09742_5 crossref_primary_10_1145_3360004 crossref_primary_10_1109_TSE_2024_3452252 crossref_primary_10_1016_j_jss_2020_110825 crossref_primary_10_1007_s10664_024_10503_2 |
| Cites_doi | 10.1109/ICSE.2013.6606626 10.1109/ASE.2015.83 10.1145/2837614.2837617 10.1145/2568225.2568254 10.1109/ICSME.2016.68 10.1145/2786805.2786811 10.1145/3106237.3106309 10.1109/TSE.2016.2560811 10.1109/TSE.2011.104 10.1145/2884781.2884872 10.1109/ICPC.2015.15 10.1145/1735223.1735249 10.1145/2970276.2975934 10.1109/TSE.2015.2454513 10.1145/2884781.2884807 10.1109/SANER.2016.76 10.1109/TAIC.PART.2007.13 10.1007/s10664-013-9282-8 10.1145/2398857.2384626 10.1145/2593735.2593740 10.1109/ISSRE.2015.7381836 10.1007/978-3-319-21668-3_12 10.1145/2771783.2771791 10.1109/ASE.2013.6693094 10.1109/ASE.2015.60 10.1109/ICSE.2015.63 10.1145/1806799.1806833 10.1145/2610384.2628055 10.1145/2786805.2786825 10.1109/ICSE.2013.6606623 10.1109/ICSE.2012.6227211 10.1109/ICSME.2016.66 10.1145/2338965.2336775 10.1145/3092703.3098225 |
| ContentType | Journal Article |
| Copyright | Springer Science+Business Media, LLC, part of Springer Nature 2018 Copyright Springer Science & Business Media 2018 |
| Copyright_xml | – notice: Springer Science+Business Media, LLC, part of Springer Nature 2018 – notice: Copyright Springer Science & Business Media 2018 |
| DBID | AAYXX CITATION 7SC 8FD JQ2 L7M L~C L~D |
| DOI | 10.1007/s10664-017-9577-2 |
| DatabaseName | CrossRef Computer and Information Systems Abstracts Technology Research Database ProQuest Computer Science Collection Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Academic Computer and Information Systems Abstracts Professional |
| DatabaseTitle | CrossRef Computer and Information Systems Abstracts Technology Research Database Computer and Information Systems Abstracts – Academic Advanced Technologies Database with Aerospace ProQuest Computer Science Collection Computer and Information Systems Abstracts Professional |
| DatabaseTitleList | Computer and Information Systems Abstracts |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISSN | 1573-7616 |
| EndPage | 3033 |
| ExternalDocumentID | 10_1007_s10664_017_9577_2 |
| GroupedDBID | -4Z -59 -5G -BR -EM -Y2 -~C .86 .DC .VR 06D 0R~ 0VY 199 1N0 1SB 2.D 203 28- 29G 2J2 2JN 2JY 2KG 2LR 2P1 2VQ 2~H 30V 4.4 406 408 409 40D 40E 5GY 5QI 5VS 67Z 6NX 78A 8FE 8FG 8TC 8UJ 95- 95. 95~ 96X AABHQ AACDK AAHNG AAIAL AAJBT AAJKR AANZL AAOBN AARHV AARTL AASML AATNV AATVU AAUYE AAWCG AAYIU AAYOK AAYQN AAYTO AAYZH ABAKF ABBBX ABBXA ABDZT ABECU ABFTD ABFTV ABHLI ABHQN ABJCF ABJNI ABJOX ABKCH ABKTR ABMNI ABMQK ABNWP ABQBU ABQSL ABSXP ABTEG ABTHY ABTKH ABTMW ABULA ABWNU ABXPI ACAOD ACBXY ACDTI ACGFS ACHSB ACHXU ACIWK ACKNC ACMDZ ACMLO ACOKC ACOMO ACPIV ACSNA ACZOJ ADHHG ADHIR ADIMF ADINQ ADKNI ADKPE ADRFC ADTPH ADURQ ADYFF ADZKW AEBTG AEFIE AEFQL AEGAL AEGNC AEJHL AEJRE AEKMD AEMSY AENEX AEOHA AEPYU AESKC AETLH AEVLU AEXYK AFBBN AFEXP AFGCZ AFKRA AFLOW AFQWF AFWTZ AFZKB AGAYW AGDGC AGGDS AGJBK AGMZJ AGQEE AGQMX AGRTI AGWIL AGWZB AGYKE AHAVH AHBYD AHKAY AHSBF AHYZX AIAKS AIGIU AIIXL AILAN AITGF AJBLW AJRNO AJZVZ ALMA_UNASSIGNED_HOLDINGS ALWAN AMKLP AMXSW AMYLF AMYQR AOCGG ARAPS ARMRJ ASPBG AVWKF AXYYD AYJHY AZFZN B-. BA0 BBWZM BDATZ BENPR BGLVJ BGNMA BSONS CAG CCPQU COF CS3 CSCUP DDRTE DL5 DNIVK DPUIP DU5 EBLON EBS EIOEI EJD ESBYG FEDTE FERAY FFXSO FIGPU FINBP FNLPD FRRFC FSGXE FWDCC GGCAI GGRSB GJIRD GNWQR GQ6 GQ7 GQ8 GXS H13 HCIFZ HF~ HG5 HG6 HMJXF HQYDN HRMNR HVGLF HZ~ I09 IHE IJ- IKXTQ ITM IWAJR IXC IZIGR IZQ I~X I~Z J-C J0Z JBSCW JCJTX JZLTJ KDC KOV KOW L6V LAK LLZTM M4Y M7S MA- N2Q NB0 NDZJH NPVJJ NQJWS NU0 O9- O93 O9G O9I O9J OAM P19 P62 P9O PF0 PT4 PT5 PTHSS Q2X QOK QOS R4E R89 R9I RHV RNI RNS ROL RPX RSV RZC RZE RZK S0W S16 S1Z S26 S27 S28 S3B SAP SCJ SCLPG SCO SDH SDM SHX SISQX SJYHP SNE SNPRN SNX SOHCF SOJ SPISZ SRMVM SSLCW STPWE SZN T13 T16 TSG TSK TSV TUC U2A UG4 UOJIU UTJUX UZXMN VC2 VFIZW W23 W48 WK8 YLTOR Z45 Z7R Z7S Z7V Z7X Z7Z Z81 Z83 Z86 Z88 Z8M Z8N Z8P Z8R Z8T Z8U Z8W Z92 ZMTXR ~EX AAPKM AAYXX ABBRH ABDBE ABFSG ABRTQ ACSTC ADHKG AEZWR AFDZB AFFHD AFHIU AFOHR AGQPQ AHPBZ AHWEU AIXLP ATHPR AYFIA CITATION PHGZM PHGZT PQGLB 7SC 8FD JQ2 L7M L~C L~D |
| ID | FETCH-LOGICAL-c316t-7c21d4cefd9a890ffbea65e133913b78d19c66420ea0c0dfe3319b7142f4f6a33 |
| IEDL.DBID | RSV |
| ISICitedReferencesCount | 44 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000440031100016&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 1382-3256 |
| IngestDate | Tue Dec 02 16:01:16 EST 2025 Sat Nov 29 05:37:43 EST 2025 Tue Nov 18 22:23:17 EST 2025 Fri Feb 21 02:35:46 EST 2025 |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | 5 |
| Keywords | Automated program repair Symbolic execution Program synthesis Patch overfitting |
| Language | English |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-c316t-7c21d4cefd9a890ffbea65e133913b78d19c66420ea0c0dfe3319b7142f4f6a33 |
| Notes | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 14 |
| ORCID | 0000-0001-5044-1582 |
| PQID | 2075611356 |
| PQPubID | 326341 |
| PageCount | 27 |
| ParticipantIDs | proquest_journals_2075611356 crossref_citationtrail_10_1007_s10664_017_9577_2 crossref_primary_10_1007_s10664_017_9577_2 springer_journals_10_1007_s10664_017_9577_2 |
| PublicationCentury | 2000 |
| PublicationDate | 20181000 2018-10-00 20181001 |
| PublicationDateYYYYMMDD | 2018-10-01 |
| PublicationDate_xml | – month: 10 year: 2018 text: 20181000 |
| PublicationDecade | 2010 |
| PublicationPlace | New York |
| PublicationPlace_xml | – name: New York – name: Dordrecht |
| PublicationSubtitle | An International Journal |
| PublicationTitle | Empirical software engineering : an international journal |
| PublicationTitleAbbrev | Empir Software Eng |
| PublicationYear | 2018 |
| Publisher | Springer US Springer Nature B.V |
| Publisher_xml | – name: Springer US – name: Springer Nature B.V |
| References | Just R, Jalali D, Ernst MD (2014) Defects4j: a database of existing faults to enable controlled testing studies for java programs. In: Proceedings of the 2014 international symposium on software testing and analysis, ISSTA, pp 437–440 LogozzoFBallTModular and verified automatic program repairSIGPLAN Not2012471013314610.1145/2398857.2384626 Ke Y, Stolee KT, Le Goues C, Brun Y (2015) Repairing programs with semantic code search. In: Proceedings of the 30th IEEE/ACM international conference on automated software engineering, pp 295–306 AlurRBodikRJuniwalGMartinMMRaghothamanMSeshiaSASinghRSolar-LezamaATorlakEUdupaASyntax-guided synthesisDependable Software Systems Engineering201540125 Le X BD, Le TDB, Lo D (2015b) Should fixing these failures be delegated to automated program repair?. In: International symposium on software reliability engineering (ISSRE). IEEE, pp 427–437 Le X BD, Lo D, Le Goues C (2016c) History driven program repair. In: Proceedings of the 23rd IEEE international conference on software analysis, evolution, and reengineering, SANER, pp 213–224 Le X BD, Chu D H, David L, Le Goues C (2017a) Jfix: sematics-based repair of java programs via symbolic pathfinder. In: Proceedings of the 2017 ACM international symposium on software testing and analysis, ISSTA WeimerWForrestSLe GouesCNguyenTAutomatic program repair with evolutionary computationCommun ACM201053510911610.1145/1735223.1735249 Long F, Rinard M (2016b) Automatic patch generation by learning correct code. In: ACM SIGPLAN notices, vol 51. ACM, pp 298–312 Le X BD, Le Q L, Lo D, Le Goues C (2016a) Enhancing automated program repair with deductive verification. In: International conference on software maintenance and evolution (ICSME). IEEE, pp 428–432 Könighofer R, Bloem R (2011) Automated error localization and correction for imperative programs. In: Formal methods in computer-aided design, IEEE, FMCAD, pp 91–100 DeMarco F, Xuan J, Le Berre D, Monperrus M (2014) Automatic repair of buggy if conditions and missing preconditions with SMT. In: Proceedings of the 6th international workshop on constraints in software testing, verification, and analysis, pp 30–39 Le X BD, Lo D, Le Goues C (2016b) Empirical study on synthesis engines for semantics-based program repair. In: International conference on software maintenance and evolution (ICSME). IEEE, pp 423–427 Cadar C, Dunbar D, Engler DR et al. (2008) Klee: unassisted and automatic generation of high-coverage tests for complex systems programs. In: Operating systems design and implementation, OSDI, pp 209–224 Smith EK, Barr ET, Le Goues C, Brun Y (2015) Is the cure worse than the disease? Overfitting in automated program repair. In: Joint meeting of the european software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering, ACM, ESEC/FSE, pp 532–543 Thung F, Le X BD, Lo D (2015) Active semi-supervised defect categorization. In: International conference on program comprehension (ICPC). IEEE Press, pp 60–70 Le XBD (2016) Towards efficient and effective automatic program repair. In: International conference on automated software engineering (ASE). IEEE, pp 876–879 Le X BD, Chu DH, Lo D, Le Goues C, Visser W (2017b) S3: syntax-and semantic-guided repair synthesis via programming by examples. In: Joint meeting of the european software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering. ACM, pp 593–604 Mechtaev S, Yi J, Roychoudhury A (2015) Directfix: Looking for simple program repairs. In: Proceedings of the 37th ACM/IEEE international conference on software engineering, ICSE, pp 448–458 Le GouesCHoltschulteNSmithEKBrunYDevanbuPForrestSWeimerWThe ManyBugs and IntroClass benchmarks for automated repair of C programsIEEE Trans Softw Eng201541121236125610.1109/TSE.2015.2454513 Könighofer R, Bloem R (2012) Repair with on-the-fly program analysis. In: Haifa verification conference. Springer, pp 56–71 Kim D, Nam J, Song J, Kim S (2013) Automatic patch generation learned from human-written patches. In: ACM/IEEE international conference on software engineering, ICSE, pp 802–811 Long F, Rinard M (2016a) An analysis of the search spaces for generate and validate patch generation systems. In: Proceedings of the 38th international conference on software engineering. ACM, pp 702–713 Tan SH, Yi J, Yulis, Mechtaev S, Roychoudhury A (2017) Codeflaws: a programming competition benchmark for evaluating automated program repair tools. In: ICSE Poster, to appear Xuan J, Martinez M, DeMarco F, Clément M, Lamelas S, Durieux T, Le Berre D, Monperrus M (2016) Nopol: Automatic repair of conditional statement bugs in java programs. IEEE Trans Softw Eng https://doi.org/10.1109/TSE.2016.2560811. https://hal.archives-ouvertes.fr/hal-01285008/document Long F, Rinard M (2015) Staged program repair with condition synthesis. In: Joint meeting of the european software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering. ACM, pp 166–178 Qi Z, Long F, Achour S, Rinard M (2015) An analysis of patch plausibility and correctness for generate-and-validate patch generation systems. In: Proceedings of the 2015 international symposium on software testing and analysis, ISSTA, pp 24–36 Le TDB, Le XBD, Lo D, Beschastnikh I (2015a) Synergizing specification miners through model fissions and fusions. In: International conference on automated software engineering (ASE). IEEE, pp 115–125 Tassey G (2002) The economic impacts of inadequate infrastructure for software testing. National Institute of Standards and Technology, RTI project 7007(011) Fry ZP, Landau B, Weimer W (2012) A human study of patch maintainability. In: International symposium on software testing and analysis (ISSTA), pp 177–187 Qi Y, Mao X, Lei Y, Dai Z, Wang C (2014) The strength of random search on automated program repair. In: Proceedings of the 36th international conference on software engineering, ACM, ICSE, pp 254–265 Weimer W, Fry ZP, Forrest S (2013) Leveraging program equivalence for adaptive program repair: models and first results. In: Proceedings of the 28th international conference on automated software engineering, IEEE, ASE, pp 356–366 Gulwani S, Esparza J, Grumberg O, Sickert S (2016) Programming by examples (and its applications in data wrangling). Verification and synthesis of correct and secure systems MartinezMMonperrusMMining software repair models for reasoning on the search space of automated program fixingEmpir Softw Eng201520117620510.1007/s10664-013-9282-8 Reynolds A, Deters M, Kuncak V, Tinelli C, Barrett C (2015) Counterexample-guided quantifier instantiation for synthesis in SMT. In: International conference on computer aided verification. Springer, pp 198–216 Le Goues C, Dewey-Vogt M, Forrest S, Weimer W (2012) A systematic study of automated program repair: fixing 55 out of 105 bugs for $8 each. In: 2012 34th international conference on software engineering (ICSE). IEEE, pp 3–13 Mechtaev S, Yi J, Roychoudhury A (2016) Angelix: scalable multiline program patch synthesis via symbolic analysis. In: Proceedings of the 38th ACM/IEEE international conference on software engineering, ICSE, pp 691–701 Abreu R, Zoeteweij P, Van Gemund AJ (2007) On the accuracy of spectrum-based fault localization. In: Testing: academic and industrial conference practice and research techniques-MUTATION, 2007. TAICPART-MUTATION 2007. IEEE, pp 89–98 Le GouesCNguyenTForrestSWeimerWGenprog: a generic method for automatic software repairIEEE Trans Softw Eng2012381547210.1109/TSE.2011.104 Nguyen HD T, Qi D, Roychoudhury A, Chandra S (2013) Semfix: Program repair via semantic analysis. In: Proceedings of the 2013 international conference on software engineering, ICSE, pp 772–781 Jha S, Gulwani S, Seshia SA, Tiwari A (2010) Oracle-guided component-based program synthesis. In: Proceedings of the 32nd ACM/IEEE international conference on software engineering, ICSE, pp 215–224 W Weimer (9577_CR39) 2010; 53 9577_CR1 C Le Goues (9577_CR23) 2015; 41 9577_CR40 9577_CR41 9577_CR26 9577_CR27 9577_CR25 9577_CR20 9577_CR21 9577_CR29 9577_CR30 R Alur (9577_CR2) 2015; 40 F Logozzo (9577_CR24) 2012; 47 9577_CR15 9577_CR37 9577_CR16 9577_CR38 9577_CR13 9577_CR35 9577_CR14 9577_CR36 9577_CR11 9577_CR33 9577_CR12 9577_CR34 9577_CR31 9577_CR10 9577_CR32 9577_CR5 9577_CR4 9577_CR3 9577_CR9 9577_CR19 M Martinez (9577_CR28) 2015; 20 9577_CR8 C Le Goues (9577_CR22) 2012; 38 9577_CR7 9577_CR17 9577_CR6 9577_CR18 |
| References_xml | – reference: Könighofer R, Bloem R (2011) Automated error localization and correction for imperative programs. In: Formal methods in computer-aided design, IEEE, FMCAD, pp 91–100 – reference: Nguyen HD T, Qi D, Roychoudhury A, Chandra S (2013) Semfix: Program repair via semantic analysis. In: Proceedings of the 2013 international conference on software engineering, ICSE, pp 772–781 – reference: Le Goues C, Dewey-Vogt M, Forrest S, Weimer W (2012) A systematic study of automated program repair: fixing 55 out of 105 bugs for $8 each. In: 2012 34th international conference on software engineering (ICSE). IEEE, pp 3–13 – reference: Tan SH, Yi J, Yulis, Mechtaev S, Roychoudhury A (2017) Codeflaws: a programming competition benchmark for evaluating automated program repair tools. In: ICSE Poster, to appear – reference: Le GouesCHoltschulteNSmithEKBrunYDevanbuPForrestSWeimerWThe ManyBugs and IntroClass benchmarks for automated repair of C programsIEEE Trans Softw Eng201541121236125610.1109/TSE.2015.2454513 – reference: Kim D, Nam J, Song J, Kim S (2013) Automatic patch generation learned from human-written patches. In: ACM/IEEE international conference on software engineering, ICSE, pp 802–811 – reference: Fry ZP, Landau B, Weimer W (2012) A human study of patch maintainability. In: International symposium on software testing and analysis (ISSTA), pp 177–187 – reference: Le X BD, Chu DH, Lo D, Le Goues C, Visser W (2017b) S3: syntax-and semantic-guided repair synthesis via programming by examples. In: Joint meeting of the european software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering. ACM, pp 593–604 – reference: Reynolds A, Deters M, Kuncak V, Tinelli C, Barrett C (2015) Counterexample-guided quantifier instantiation for synthesis in SMT. In: International conference on computer aided verification. Springer, pp 198–216 – reference: Le X BD, Lo D, Le Goues C (2016b) Empirical study on synthesis engines for semantics-based program repair. In: International conference on software maintenance and evolution (ICSME). IEEE, pp 423–427 – reference: Jha S, Gulwani S, Seshia SA, Tiwari A (2010) Oracle-guided component-based program synthesis. In: Proceedings of the 32nd ACM/IEEE international conference on software engineering, ICSE, pp 215–224 – reference: Just R, Jalali D, Ernst MD (2014) Defects4j: a database of existing faults to enable controlled testing studies for java programs. In: Proceedings of the 2014 international symposium on software testing and analysis, ISSTA, pp 437–440 – reference: Qi Y, Mao X, Lei Y, Dai Z, Wang C (2014) The strength of random search on automated program repair. In: Proceedings of the 36th international conference on software engineering, ACM, ICSE, pp 254–265 – reference: DeMarco F, Xuan J, Le Berre D, Monperrus M (2014) Automatic repair of buggy if conditions and missing preconditions with SMT. In: Proceedings of the 6th international workshop on constraints in software testing, verification, and analysis, pp 30–39 – reference: Le X BD, Le Q L, Lo D, Le Goues C (2016a) Enhancing automated program repair with deductive verification. In: International conference on software maintenance and evolution (ICSME). IEEE, pp 428–432 – reference: Qi Z, Long F, Achour S, Rinard M (2015) An analysis of patch plausibility and correctness for generate-and-validate patch generation systems. In: Proceedings of the 2015 international symposium on software testing and analysis, ISSTA, pp 24–36 – reference: Mechtaev S, Yi J, Roychoudhury A (2015) Directfix: Looking for simple program repairs. In: Proceedings of the 37th ACM/IEEE international conference on software engineering, ICSE, pp 448–458 – reference: Könighofer R, Bloem R (2012) Repair with on-the-fly program analysis. In: Haifa verification conference. Springer, pp 56–71 – reference: Le GouesCNguyenTForrestSWeimerWGenprog: a generic method for automatic software repairIEEE Trans Softw Eng2012381547210.1109/TSE.2011.104 – reference: Le XBD (2016) Towards efficient and effective automatic program repair. In: International conference on automated software engineering (ASE). IEEE, pp 876–879 – reference: Le X BD, Le TDB, Lo D (2015b) Should fixing these failures be delegated to automated program repair?. In: International symposium on software reliability engineering (ISSRE). IEEE, pp 427–437 – reference: AlurRBodikRJuniwalGMartinMMRaghothamanMSeshiaSASinghRSolar-LezamaATorlakEUdupaASyntax-guided synthesisDependable Software Systems Engineering201540125 – reference: Le X BD, Lo D, Le Goues C (2016c) History driven program repair. In: Proceedings of the 23rd IEEE international conference on software analysis, evolution, and reengineering, SANER, pp 213–224 – reference: Weimer W, Fry ZP, Forrest S (2013) Leveraging program equivalence for adaptive program repair: models and first results. In: Proceedings of the 28th international conference on automated software engineering, IEEE, ASE, pp 356–366 – reference: Tassey G (2002) The economic impacts of inadequate infrastructure for software testing. National Institute of Standards and Technology, RTI project 7007(011) – reference: Long F, Rinard M (2016a) An analysis of the search spaces for generate and validate patch generation systems. In: Proceedings of the 38th international conference on software engineering. ACM, pp 702–713 – reference: MartinezMMonperrusMMining software repair models for reasoning on the search space of automated program fixingEmpir Softw Eng201520117620510.1007/s10664-013-9282-8 – reference: Abreu R, Zoeteweij P, Van Gemund AJ (2007) On the accuracy of spectrum-based fault localization. In: Testing: academic and industrial conference practice and research techniques-MUTATION, 2007. TAICPART-MUTATION 2007. IEEE, pp 89–98 – reference: Thung F, Le X BD, Lo D (2015) Active semi-supervised defect categorization. In: International conference on program comprehension (ICPC). IEEE Press, pp 60–70 – reference: Gulwani S, Esparza J, Grumberg O, Sickert S (2016) Programming by examples (and its applications in data wrangling). Verification and synthesis of correct and secure systems – reference: Long F, Rinard M (2016b) Automatic patch generation by learning correct code. In: ACM SIGPLAN notices, vol 51. ACM, pp 298–312 – reference: Le X BD, Chu D H, David L, Le Goues C (2017a) Jfix: sematics-based repair of java programs via symbolic pathfinder. In: Proceedings of the 2017 ACM international symposium on software testing and analysis, ISSTA – reference: LogozzoFBallTModular and verified automatic program repairSIGPLAN Not2012471013314610.1145/2398857.2384626 – reference: Mechtaev S, Yi J, Roychoudhury A (2016) Angelix: scalable multiline program patch synthesis via symbolic analysis. In: Proceedings of the 38th ACM/IEEE international conference on software engineering, ICSE, pp 691–701 – reference: Ke Y, Stolee KT, Le Goues C, Brun Y (2015) Repairing programs with semantic code search. In: Proceedings of the 30th IEEE/ACM international conference on automated software engineering, pp 295–306 – reference: Smith EK, Barr ET, Le Goues C, Brun Y (2015) Is the cure worse than the disease? Overfitting in automated program repair. In: Joint meeting of the european software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering, ACM, ESEC/FSE, pp 532–543 – reference: Long F, Rinard M (2015) Staged program repair with condition synthesis. In: Joint meeting of the european software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering. ACM, pp 166–178 – reference: Xuan J, Martinez M, DeMarco F, Clément M, Lamelas S, Durieux T, Le Berre D, Monperrus M (2016) Nopol: Automatic repair of conditional statement bugs in java programs. IEEE Trans Softw Eng https://doi.org/10.1109/TSE.2016.2560811. https://hal.archives-ouvertes.fr/hal-01285008/document – reference: WeimerWForrestSLe GouesCNguyenTAutomatic program repair with evolutionary computationCommun ACM201053510911610.1145/1735223.1735249 – reference: Le TDB, Le XBD, Lo D, Beschastnikh I (2015a) Synergizing specification miners through model fissions and fusions. In: International conference on automated software engineering (ASE). IEEE, pp 115–125 – reference: Cadar C, Dunbar D, Engler DR et al. (2008) Klee: unassisted and automatic generation of high-coverage tests for complex systems programs. In: Operating systems design and implementation, OSDI, pp 209–224 – ident: 9577_CR10 doi: 10.1109/ICSE.2013.6606626 – ident: 9577_CR14 doi: 10.1109/ASE.2015.83 – ident: 9577_CR27 doi: 10.1145/2837614.2837617 – ident: 9577_CR32 doi: 10.1145/2568225.2568254 – ident: 9577_CR17 doi: 10.1109/ICSME.2016.68 – ident: 9577_CR12 – ident: 9577_CR25 doi: 10.1145/2786805.2786811 – ident: 9577_CR20 doi: 10.1145/3106237.3106309 – ident: 9577_CR41 doi: 10.1109/TSE.2016.2560811 – volume: 38 start-page: 54 issue: 1 year: 2012 ident: 9577_CR22 publication-title: IEEE Trans Softw Eng doi: 10.1109/TSE.2011.104 – ident: 9577_CR26 doi: 10.1145/2884781.2884872 – ident: 9577_CR38 doi: 10.1109/ICPC.2015.15 – volume: 53 start-page: 109 issue: 5 year: 2010 ident: 9577_CR39 publication-title: Commun ACM doi: 10.1145/1735223.1735249 – ident: 9577_CR13 doi: 10.1145/2970276.2975934 – volume: 41 start-page: 1236 issue: 12 year: 2015 ident: 9577_CR23 publication-title: IEEE Trans Softw Eng doi: 10.1109/TSE.2015.2454513 – ident: 9577_CR30 doi: 10.1145/2884781.2884807 – ident: 9577_CR18 doi: 10.1109/SANER.2016.76 – ident: 9577_CR1 doi: 10.1109/TAIC.PART.2007.13 – volume: 20 start-page: 176 issue: 1 year: 2015 ident: 9577_CR28 publication-title: Empir Softw Eng doi: 10.1007/s10664-013-9282-8 – volume: 47 start-page: 133 issue: 10 year: 2012 ident: 9577_CR24 publication-title: SIGPLAN Not doi: 10.1145/2398857.2384626 – volume: 40 start-page: 1 year: 2015 ident: 9577_CR2 publication-title: Dependable Software Systems Engineering – ident: 9577_CR4 doi: 10.1145/2593735.2593740 – ident: 9577_CR15 doi: 10.1109/ISSRE.2015.7381836 – ident: 9577_CR6 – ident: 9577_CR34 doi: 10.1007/978-3-319-21668-3_12 – ident: 9577_CR11 – ident: 9577_CR33 doi: 10.1145/2771783.2771791 – ident: 9577_CR36 – ident: 9577_CR40 doi: 10.1109/ASE.2013.6693094 – ident: 9577_CR9 doi: 10.1109/ASE.2015.60 – ident: 9577_CR37 – ident: 9577_CR3 – ident: 9577_CR29 doi: 10.1109/ICSE.2015.63 – ident: 9577_CR7 doi: 10.1145/1806799.1806833 – ident: 9577_CR8 doi: 10.1145/2610384.2628055 – ident: 9577_CR35 doi: 10.1145/2786805.2786825 – ident: 9577_CR31 doi: 10.1109/ICSE.2013.6606623 – ident: 9577_CR21 doi: 10.1109/ICSE.2012.6227211 – ident: 9577_CR16 doi: 10.1109/ICSME.2016.66 – ident: 9577_CR5 doi: 10.1145/2338965.2336775 – ident: 9577_CR19 doi: 10.1145/3092703.3098225 |
| SSID | ssj0009745 |
| Score | 2.462523 |
| Snippet | The primary goal of Automated Program Repair (APR) is to automatically fix buggy software, to reduce the manual bug-fix burden that presently rests on human... |
| SourceID | proquest crossref springer |
| SourceType | Aggregation Database Enrichment Source Index Database Publisher |
| StartPage | 3007 |
| SubjectTerms | Automation Compilers Computer Science Heuristic Heuristic methods Interpreters Maintenance Programming Languages Quality assessment Repair Semantics Software Engineering/Programming and Operating Systems |
| Title | Overfitting in semantics-based automated program repair |
| URI | https://link.springer.com/article/10.1007/s10664-017-9577-2 https://www.proquest.com/docview/2075611356 |
| Volume | 23 |
| WOSCitedRecordID | wos000440031100016&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVAVX databaseName: SpringerLINK Contemporary 1997-Present customDbUrl: eissn: 1573-7616 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0009745 issn: 1382-3256 databaseCode: RSV dateStart: 19970101 isFulltext: true titleUrlDefault: https://link.springer.com/search?facet-content-type=%22Journal%22 providerName: Springer Nature |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1LS8QwEA6yevDi-sTVVXrwpASaJk3So4iLB1Hxseyt5AkF7Urb3d9v0odVUUFvhU5DmGTyTZnJ9wFwYh2MEIMJpJxFkOiYQ4EshomUxCZIy6aJZnrNbm74bJbctfe4y67bvStJ1if1h8tulPqOCV9yZAy6c3fVoR33eg33D9OeaZfVysSeWw9iB-hdKfO7IT6DUZ9hfimK1lgzGf5rlptgo00tg_NmL2yBFZNvg2En2xC0UbwD2O3SS1PXDc9BlgeleXHuzVQJPaTpQCyquctj3VPbvBUUDrOyYhc8TS4fL65gq58AFUa0gkxFSBNlrE4ET0JrpRE0Nu6vNEFYMq5Rotxko9CIUIXaGuziUTJEIkssFRjvgUE-z80-CJREodDWmcSECE5lbLhDMmSEJzDDeATCzpGpasnFvcbFc9rTInvHpM4xqXdMGo3A6fsnrw2zxm_G42510jbIyjRy6Q5FCMd0BM661ehf_zjYwZ-sD8G6S5IaDlw0BoOqWJgjsKaWVVYWx_XeewOkOdIK |
| linkProvider | Springer Nature |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV3dS8MwEA8yBX1xfuJ0ah98UgJNkybto4hj4pyCc-wtpGkCBe2k7fb3m_TDqqigb4Fek3DJ5XfhLr8D4EwbGCEKE0gD5kES-wEUSGMYRhHRIYqjKolmOmLjcTCbhQ_1O-68yXZvQpLlSf3hsRulNmPChhwZg-bcXSV2JHtFf5y2TLusrExsufUgNoDehDK_6-IzGLUe5pegaIk1g-6_ZrkFNmvX0rms9sI2WFHpDug2ZRuc2op3Abtf2tLUZcKzk6ROrl6MehOZQwtpsSMWxdz4saZVJ285mcGsJNsDT4PrydUQ1vUToMSIFpBJD8VEKh2HIghdrSMlqK_MrTREOGJBjEJpJuu5SrjSjbXCxh4jhoiniaYC433QSeepOgCOjJArYm1EfEJEQCNfBQbJkBKWwAzjHnAbRXJZk4vbGhfPvKVFtorhRjHcKoZ7PXD-_strxazxm3C_WR1eG1nOPePuUISwT3vgolmN9vOPnR3-SfoUrA8ndyM-uhnfHoEN4zBVfLioDzpFtlDHYE0uiyTPTsp9-AaGONTu |
| linkToPdf | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV1bS8MwFA4yRXxxXnE6tQ8-KWFNkybto6hDccyBOvZW0lygoN1ou_1-k16cigriW6GnIZzk9DvhfPkOAGfawAhRmEAaMA8S6QeQI41hGMdEh0jGFYlmPGDDYTCZhKO6z2nesN2bkmR1p8GqNKVFbyZ178PFN0ote8KWHxmD5h-8SiyP3h7XH8dL1V1Wdim2OnsQG3BvyprfDfEZmJbZ5pcCaYk7_fa_Z7wFNuuU07ms9sg2WFHpDmg37RycOrp3AXtY2JbVJRHaSVInV6_G7YnIoYU66fB5MTX5rXmqSV1OZrAsyfbAc__m6eoW1n0VoMCIFpAJD0kilJYhD0JX61hx6itzWg0RjlkgUSjMZD1XcVe4Uits4jRmiHiaaMox3getdJqqA-CIGLlcamPiE8IDGvsqMAiHFLfCZhh3gNs4NRK16LjtffESLeWSrWMi45jIOibyOuD8_ZNZpbjxm3G3WamoDr488kwaRBHCPu2Ai2Zllq9_HOzwT9anYH103Y8Gd8P7I7Bh8qhKJhd1QavI5uoYrIlFkeTZSbkl3wDQ193S |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Overfitting+in+semantics-based+automated+program+repair&rft.jtitle=Empirical+software+engineering+%3A+an+international+journal&rft.au=Le%2C+Xuan+Bach+D&rft.au=Thung%2C+Ferdian&rft.au=Lo%2C+David&rft.au=Claire+Le+Goues&rft.date=2018-10-01&rft.pub=Springer+Nature+B.V&rft.issn=1382-3256&rft.eissn=1573-7616&rft.volume=23&rft.issue=5&rft.spage=3007&rft.epage=3033&rft_id=info:doi/10.1007%2Fs10664-017-9577-2&rft.externalDBID=HAS_PDF_LINK |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1382-3256&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1382-3256&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1382-3256&client=summon |