On the Efficiency of Test Suite based Program Repair A Systematic Assessment of 16 Automated Repair Systems for Java Programs
Test-based automated program repair has been a prolific field of research in software engineering in the last decade. Many approaches have indeed been proposed, which leverage test suites as a weak, but affordable, approximation to program specifications. Although the literature regularly sets new r...
Saved in:
| Published in: | 2020 IEEE/ACM 42nd International Conference on Software Engineering (ICSE) pp. 615 - 627 |
|---|---|
| Main Authors: | , , , , , , , , |
| Format: | Conference Proceeding |
| Language: | English |
| Published: |
ACM
01.10.2020
|
| Subjects: | |
| ISSN: | 1558-1225 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Abstract | Test-based automated program repair has been a prolific field of research in software engineering in the last decade. Many approaches have indeed been proposed, which leverage test suites as a weak, but affordable, approximation to program specifications. Although the literature regularly sets new records on the number of benchmark bugs that can be fixed, several studies increasingly raise concerns about the limitations and biases of state-of-the-art approaches. For example, the correctness of generated patches has been questioned in a number of studies, while other researchers pointed out that evaluation schemes may be misleading with respect to the processing of fault localization results. Nevertheless, there is little work addressing the efficiency of patch generation, with regard to the practicality of program repair. In this paper, we fill this gap in the literature, by providing an extensive review on the efficiency of test suite based program repair. Our objective is to assess the number of generated patch candidates, since this information is correlated to (1) the strategy to traverse the search space efficiently in order to select sensical repair attempts, (2) the strategy to minimize the test effort for identifying a plausible patch, (3) as well as the strategy to prioritize the generation of a correct patch. To that end, we performa large-scale empirical study on the efficiency, in terms of quantity of generated patch candidates of the 16 open-source repair tools for Java programs. The experiments are carefully conducted under the same fault localization configurations to limit biases. Eventually, among other findings, we note that: (1) many irrelevant patch candidates are generated by changing wrong code locations; (2) however, if the search space is carefully triaged, fault localization noise has little impact on patch generation efficiency; (3) yet, current template-based repair systems, which are known to be most effective in fixing a large number of bugs, are actually least efficient as they tend to generate majoritarily irrelevant patch candidates. |
|---|---|
| AbstractList | Test-based automated program repair has been a prolific field of research in software engineering in the last decade. Many approaches have indeed been proposed, which leverage test suites as a weak, but affordable, approximation to program specifications. Although the literature regularly sets new records on the number of benchmark bugs that can be fixed, several studies increasingly raise concerns about the limitations and biases of state-of-the-art approaches. For example, the correctness of generated patches has been questioned in a number of studies, while other researchers pointed out that evaluation schemes may be misleading with respect to the processing of fault localization results. Nevertheless, there is little work addressing the efficiency of patch generation, with regard to the practicality of program repair. In this paper, we fill this gap in the literature, by providing an extensive review on the efficiency of test suite based program repair. Our objective is to assess the number of generated patch candidates, since this information is correlated to (1) the strategy to traverse the search space efficiently in order to select sensical repair attempts, (2) the strategy to minimize the test effort for identifying a plausible patch, (3) as well as the strategy to prioritize the generation of a correct patch. To that end, we performa large-scale empirical study on the efficiency, in terms of quantity of generated patch candidates of the 16 open-source repair tools for Java programs. The experiments are carefully conducted under the same fault localization configurations to limit biases. Eventually, among other findings, we note that: (1) many irrelevant patch candidates are generated by changing wrong code locations; (2) however, if the search space is carefully triaged, fault localization noise has little impact on patch generation efficiency; (3) yet, current template-based repair systems, which are known to be most effective in fixing a large number of bugs, are actually least efficient as they tend to generate majoritarily irrelevant patch candidates. |
| Author | Traon, Yves Le Kim, Dongsun Klein, Jacques Mao, Xiaoguang Liu, Kui Wang, Shangwen Kisub Kim, Anil Koyuncu Wu, Peng Bissyande, Tegawende F. |
| Author_xml | – sequence: 1 givenname: Kui surname: Liu fullname: Liu, Kui email: brucekuiliu@gmail.com organization: Nanjing University of Aeronautics and Astronautics,China – sequence: 2 givenname: Shangwen surname: Wang fullname: Wang, Shangwen email: wangshangwen13@nudt.edu.cn organization: National University of Defense Technology,China – sequence: 3 givenname: Anil Koyuncu surname: Kisub Kim fullname: Kisub Kim, Anil Koyuncu email: anil.koyuncu@uni.lu organization: University of Luxembourg,Luxembourg – sequence: 4 givenname: Tegawende F. surname: Bissyande fullname: Bissyande, Tegawende F. email: tegawende.bissyande@uni.lu organization: University of Luxembourg,Luxembourg – sequence: 5 givenname: Dongsun surname: Kim fullname: Kim, Dongsun email: darkrsw@furiosa.ai organization: Furiosa.ai,Republic of Korea – sequence: 6 givenname: Peng surname: Wu fullname: Wu, Peng email: wupeng15@nudt.edu.cn organization: National University of Defense Technology,China – sequence: 7 givenname: Jacques surname: Klein fullname: Klein, Jacques email: jacques.klein@uni.lu organization: University of Luxembourg,Luxembourg – sequence: 8 givenname: Xiaoguang surname: Mao fullname: Mao, Xiaoguang email: xgmao@nudt.edu.cn organization: National University of Defense Technology,China – sequence: 9 givenname: Yves Le surname: Traon fullname: Traon, Yves Le email: yves.letraon@uni.lu organization: University of Luxembourg,Luxembourg |
| BookMark | eNo1jEtLw0AUhUdR0FbXLtzcP5A6z0xmGUp9UajYui436R0dMUnJTIUu_O9GWheHA-fxjdhZ27XE2I3gEyG0uVPK2kKIiVIFH3TCRkPKlRVSqFN2KYwpMiGluWCjGD8557l27pL9LFpIHwQz70MdqK330HlYUUyw3IVEUGGkDbz03XuPDbzSFkMPJSz3MVGDKdRQxkgxNtSmv6vIodylbqiG23F-GEfwXQ_P-I3_uHjFzj1-Rbo--pi93c9W08dsvnh4mpbzDKW2KUMnlPAmrwkVoSPLPVaCcGM05dJUFZcoKzsEWhWoDGmnueS5K_LKcu3VmN0euIGI1ts-NNjv104WyimhfgGqhF83 |
| CODEN | IEEPAD |
| ContentType | Conference Proceeding |
| DBID | 6IE 6IH CBEJK RIE RIO |
| DOI | 10.1145/3377811.3380338 |
| DatabaseName | IEEE Electronic Library (IEL) Conference Proceedings IEEE Proceedings Order Plan (POP) 1998-present by volume IEEE Xplore All Conference Proceedings IEEE Electronic Library (IEL) IEEE Proceedings Order Plans (POP) 1998-present |
| DatabaseTitleList | |
| Database_xml | – sequence: 1 dbid: RIE name: IEEE Electronic Library (IEL) url: https://ieeexplore.ieee.org/ sourceTypes: Publisher |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISBN | 1450371213 9781450371216 |
| EISSN | 1558-1225 |
| EndPage | 627 |
| ExternalDocumentID | 9283931 |
| Genre | orig-research |
| GrantInformation_xml | – fundername: National Natural Science Foundation of China grantid: 61672529 funderid: 10.13039/501100001809 – fundername: FNR grantid: 15/IS/10449467 funderid: 10.13039/100007869 |
| GroupedDBID | -~X .4S .DC 123 23M 29O 5VS 6IE 6IF 6IH 6IK 6IL 6IM 6IN 8US AAJGR AAWTH ABLEC ADZIZ AFFNX ALMA_UNASSIGNED_HOLDINGS APO ARCSS AVWKF BEFXN BFFAM BGNUA BKEBE BPEOZ CBEJK CHZPO EDO FEDTE I-F I07 IEGSK IJVOP IPLJI M43 OCL RIE RIL RIO RNS XOL |
| ID | FETCH-LOGICAL-a247t-a9131f56cea3ea9e70fab1ead54e625bb02a2b7ead438a35e4940206986b704f3 |
| IEDL.DBID | RIE |
| ISICitedReferencesCount | 98 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000652529800051&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| IngestDate | Wed Aug 27 02:32:58 EDT 2025 |
| IsDoiOpenAccess | false |
| IsOpenAccess | true |
| IsPeerReviewed | false |
| IsScholarly | true |
| Language | English |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-a247t-a9131f56cea3ea9e70fab1ead54e625bb02a2b7ead438a35e4940206986b704f3 |
| PageCount | 13 |
| ParticipantIDs | ieee_primary_9283931 |
| PublicationCentury | 2000 |
| PublicationDate | 2020-Oct. |
| PublicationDateYYYYMMDD | 2020-10-01 |
| PublicationDate_xml | – month: 10 year: 2020 text: 2020-Oct. |
| PublicationDecade | 2020 |
| PublicationTitle | 2020 IEEE/ACM 42nd International Conference on Software Engineering (ICSE) |
| PublicationTitleAbbrev | ICSE |
| PublicationYear | 2020 |
| Publisher | ACM |
| Publisher_xml | – name: ACM |
| SSID | ssj0006499 ssj0002870079 |
| Score | 2.5255253 |
| Snippet | Test-based automated program repair has been a prolific field of research in software engineering in the last decade. Many approaches have indeed been... |
| SourceID | ieee |
| SourceType | Publisher |
| StartPage | 615 |
| SubjectTerms | Efficiency Empirical assessment Patch generation Program repair |
| Title | On the Efficiency of Test Suite based Program Repair A Systematic Assessment of 16 Automated Repair Systems for Java Programs |
| URI | https://ieeexplore.ieee.org/document/9283931 |
| WOSCitedRecordID | wos000652529800051&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 | |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV09T8MwELVKxcBUoEV86wZG0tqxHcdjhVohhlKpRepW2YkjdUlQm3Tjv3NO08DAwhY58Sm6OL473713hDzpRKchrtuAc5YGQlMZWBvzgFrDZBJ6hvW4bjahZrN4tdLzDnlusTDOubr4zA39ZZ3LT4uk8kdlI422UHvQ9IlS0QGr1Z6n-IQd9RmnZheO0JVvqHyYkCPOlcdUDjEio9yDUX71UqlNybT3v5c4J4MfTB7MW2tzQTouvyS9Y1MGaP7RPvl6zwGdOpjU3BAeWAlFBkvc_GFRoX8J3m6lXpSvywJ0wM1mC2NYtJTOMG7ZOv1UFsG4Kgu8hdOaxxuec0CPF97M3hzF7QbkYzpZvrwGTY-FwIRClYHRjLNMRokz3BntFM2MZbi8pHAYGllLQxNahQOCx4ZLJ7SPOCMdR1ZRkfEr0s2L3F0TkJmWjsqECeME0yZGwagoZU2IQmJzQ_pem-vPA43GulHk7d_Dd-Qs9KFtXTd3T7rltnIP5DTZl5vd9rH-9t98RK7K |
| linkProvider | IEEE |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV07T8MwELaqggRTgRbxxgMjaf1M4rFCrQqUUqlF6lbZiSN1SVCbdOO_c07TwMDCFjn2KTpdfHf2fd8h9KAiFTOwW49zGntCEekZE3KPGE1lxBzDelg2mwgmk3CxUNMGeqyxMNbasvjMdt1jeZcfZ1Hhjsp6CnyhcqDpAykEIzu0Vn2i4q7siLtzqvZhH4L5isyHCtnjPHCoyi7kZIQ7OMqvbiqlMxm2_vcZJ6jzg8rD09rfnKKGTc9Qa9-WAVd_aRt9vacYwjo8KNkhHLQSZwmew_aPZwVEmNh5rtiJcpVZGEJwvVrjPp7VpM64X_N1uqXUx_0iz-AVLKumV0znGGJe_KK3ei9u00Efw8H8aeRVXRY8zUSQe1pRThPpR1Zzq5UNSKINBQOTwkJyZAxhmpkABgQPNZdWKJdz-ir0TUBEws9RM81Se4GwTJS0REZUaCuo0iEIBkUFRjMQEupL1HbaXH7uiDSWlSKv_h6-R0ej-dt4OX6evF6jY-YS3bKK7gY183Vhb9FhtM1Xm_VdaQffv-uyEQ |
| 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=proceeding&rft.title=2020+IEEE%2FACM+42nd+International+Conference+on+Software+Engineering+%28ICSE%29&rft.atitle=On+the+Efficiency+of+Test+Suite+based+Program+Repair+A+Systematic+Assessment+of+16+Automated+Repair+Systems+for+Java+Programs&rft.au=Liu%2C+Kui&rft.au=Wang%2C+Shangwen&rft.au=Kisub+Kim%2C+Anil+Koyuncu&rft.au=Bissyande%2C+Tegawende+F.&rft.date=2020-10-01&rft.pub=ACM&rft.eissn=1558-1225&rft.spage=615&rft.epage=627&rft_id=info:doi/10.1145%2F3377811.3380338&rft.externalDocID=9283931 |