Context-aware patch generation for better automated program repair
The effectiveness of search-based automated program repair is limited in the number of correct patches that can be successfully generated. There are two causes of such limitation. First, the search space does not contain the correct patch. Second, the search space is huge and therefore the correct p...
Gespeichert in:
| Veröffentlicht in: | 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE) S. 1 - 11 |
|---|---|
| Hauptverfasser: | , , , , |
| Format: | Tagungsbericht |
| Sprache: | Englisch |
| Veröffentlicht: |
New York, NY, USA
ACM
27.05.2018
|
| Schriftenreihe: | ACM Conferences |
| Schlagworte: | |
| ISBN: | 9781450356381, 1450356389 |
| ISSN: | 1558-1225 |
| Online-Zugang: | Volltext |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Abstract | The effectiveness of search-based automated program repair is limited in the number of correct patches that can be successfully generated. There are two causes of such limitation. First, the search space does not contain the correct patch. Second, the search space is huge and therefore the correct patch cannot be generated (i.e., correct patches are either generated after incorrect plausible ones or not generated within the time budget).
To increase the likelihood of including the correct patches in the search space, we propose to work at a fine granularity in terms of AST nodes. This, however, will further enlarge the search space, increasing the challenge to find the correct patches. We address the challenge by devising a strategy to prioritize the candidate patches based on their likelihood of being correct. Specifically, we study the use of AST nodes' context information to estimate the likelihood.
In this paper, we propose CapGen, a context-aware patch generation technique. The novelty which allows CapGen to produce more correct patches lies in three aspects: (1) The fine-granularity design enables it to find more correct fixing ingredients; (2) The context-aware prioritization of mutation operators enables it to constrain the search space; (3) Three context-aware models enable it to rank correct patches at high positions before incorrect plausible ones. We evaluate CapGen on Defects4J and compare it with the state-of-the-art program repair techniques. Our evaluation shows that CapGen outperforms and complements existing techniques. CapGen achieves a high precision of 84.00% and can prioritize the correct patches before 98.78% of the incorrect plausible ones. |
|---|---|
| AbstractList | The effectiveness of search-based automated program repair is limited in the number of correct patches that can be successfully generated. There are two causes of such limitation. First, the search space does not contain the correct patch. Second, the search space is huge and therefore the correct patch cannot be generated (i.e., correct patches are either generated after incorrect plausible ones or not generated within the time budget).
To increase the likelihood of including the correct patches in the search space, we propose to work at a fine granularity in terms of AST nodes. This, however, will further enlarge the search space, increasing the challenge to find the correct patches. We address the challenge by devising a strategy to prioritize the candidate patches based on their likelihood of being correct. Specifically, we study the use of AST nodes' context information to estimate the likelihood.
In this paper, we propose CapGen, a context-aware patch generation technique. The novelty which allows CapGen to produce more correct patches lies in three aspects: (1) The fine-granularity design enables it to find more correct fixing ingredients; (2) The context-aware prioritization of mutation operators enables it to constrain the search space; (3) Three context-aware models enable it to rank correct patches at high positions before incorrect plausible ones. We evaluate CapGen on Defects4J and compare it with the state-of-the-art program repair techniques. Our evaluation shows that CapGen outperforms and complements existing techniques. CapGen achieves a high precision of 84.00% and can prioritize the correct patches before 98.78% of the incorrect plausible ones. The effectiveness of search-based automated program repair is limited in the number of correct patches that can be successfully generated. There are two causes of such limitation. First, the search space does not contain the correct patch. Second, the search space is huge and therefore the correct patch cannot be generated (ie correct patches are either generated after incorrect plausible ones or not generated within the time budget). To increase the likelihood of including the correct patches in the search space, we propose to work at a fine granularity in terms of AST nodes. This, however, will further enlarge the search space, increasing the challenge to find the correct patches. We address the challenge by devising a strategy to prioritize the candidate patches based on their likelihood of being correct. Specifically, we study the use of AST nodes' context information to estimate the likelihood. In this paper, we propose CapGen, a context-aware patch generation technique. The novelty which allows CapGen to produce more correct patches lies in three aspects: (1) The fine-granularity design enables it to find more correct fixing ingredients; (2) The context-aware prioritization of mutation operators enables it to constrain the search space; (3) Three context-aware models enable it to rank correct patches at high positions before incorrect plausible ones. We evaluate CapGen on Defects4J and compare it with the state-of-the-art program repair techniques. Our evaluation shows that CapGen outperforms and complements existing techniques. CapGen achieves a high precision of 84.00% and can prioritize the correct patches before 98.78% of the incorrect plausible ones. |
| Author | Hao, Dan Wen, Ming Chen, Junjie Wu, Rongxin Cheung, Shing-Chi |
| Author_xml | – sequence: 1 givenname: Ming surname: Wen fullname: Wen, Ming email: mwenaa@cse.ust.hk organization: The Hong Kong University of Science and Technology, Hong Kong, China – sequence: 2 givenname: Junjie surname: Chen fullname: Chen, Junjie email: chenjunjie@pku.edu.cn organization: Peking University, Beijing, China – sequence: 3 givenname: Rongxin surname: Wu fullname: Wu, Rongxin email: wurongxin@cse.ust.hk organization: The Hong Kong University of Science and Technology, Hong Kong, China – sequence: 4 givenname: Dan surname: Hao fullname: Hao, Dan email: haodan@pku.edu.cn organization: Peking University, Beijing, China – sequence: 5 givenname: Shing-Chi surname: Cheung fullname: Cheung, Shing-Chi email: scc@cse.ust.hk organization: The Hong Kong University of Science and Technology, Hong Kong, China |
| BookMark | eNqNkDtPwzAURs1LopTODCwZWVLu9SvOCBUvqRILzJbdXpcAiSPHCPj3pKITE9MZjr5vOCfssIsdMXaGMEeU6lKgAVRqviUXYo_N6sqMAoTSwuA-m4zWlMi5OvjjjtlsGF4BgGsjDeoJu17ELtNXLt2nS1T0Lq9eig11lFxuYleEmApPOVMq3EeOrcu0LvoUN8m1RaLeNemUHQX3PtBsxyl7vr15WtyXy8e7h8XVsnTcmFxKQKjXqpI-eI8i1I6U5jxIU4UAqyC9AQEUgkIkbbTQNax1rVCBFpWrxJSd__42RGT71LQufVsjlQClRjv_tW7VWh_j22AR7DaY3QWzu2DWp4bCOLj450D8AEuYZv4 |
| CODEN | IEEPAD |
| ContentType | Conference Proceeding |
| Copyright | 2018 ACM |
| Copyright_xml | – notice: 2018 ACM |
| DBID | 6IE 6IH CBEJK RIE RIO |
| DOI | 10.1145/3180155.3180233 |
| 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 | 9781450356381 1450356389 |
| EISSN | 1558-1225 |
| EndPage | 11 |
| ExternalDocumentID | 8453055 |
| Genre | orig-research |
| GroupedDBID | 6IE 6IF 6IG 6IL 6IM 6IN AAJGR ABLEC ABQGA ACM ADPZR ALMA_UNASSIGNED_HOLDINGS APO BEFXN BFFAM BGNUA BKEBE BPEOZ CBEJK GUFHI IEGSK IJVOP LHSKQ OCL RIB RIC RIE RIL RIO -~X .4S .DC 123 23M 29O 5VS 6IH 6IK 8US AAWTH ADZIZ AFFNX ARCSS AVWKF CHZPO EDO FEDTE I-F I07 IPLJI M43 RNS XOL |
| ID | FETCH-LOGICAL-a288t-40109d574bfbb13f9ae5622f487ff0cf4b8030eff511e6863690d695150637a73 |
| IEDL.DBID | RIE |
| ISBN | 9781450356381 1450356389 |
| ISICitedReferencesCount | 274 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000454843300001&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:51:13 EDT 2025 Fri Sep 13 11:04:35 EDT 2024 |
| IsDoiOpenAccess | false |
| IsOpenAccess | true |
| IsPeerReviewed | false |
| IsScholarly | true |
| Keywords | automated program repair context-aware patch prioritization |
| Language | English |
| License | Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Permissions@acm.org |
| LinkModel | DirectLink |
| MeetingName | ICSE '18: 40th International Conference on Software Engineering |
| MergedId | FETCHMERGED-LOGICAL-a288t-40109d574bfbb13f9ae5622f487ff0cf4b8030eff511e6863690d695150637a73 |
| OpenAccessLink | http://repository.ust.hk/ir/Record/1783.1-92186 |
| PageCount | 11 |
| ParticipantIDs | acm_books_10_1145_3180155_3180233_brief ieee_primary_8453055 acm_books_10_1145_3180155_3180233 |
| PublicationCentury | 2000 |
| PublicationDate | 20180527 2018-May |
| PublicationDateYYYYMMDD | 2018-05-27 2018-05-01 |
| PublicationDate_xml | – month: 05 year: 2018 text: 20180527 day: 27 |
| PublicationDecade | 2010 |
| PublicationPlace | New York, NY, USA |
| PublicationPlace_xml | – name: New York, NY, USA |
| PublicationSeriesTitle | ACM Conferences |
| PublicationTitle | 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE) |
| PublicationTitleAbbrev | ICSE |
| PublicationYear | 2018 |
| Publisher | ACM |
| Publisher_xml | – name: ACM |
| SSID | ssj0002684816 ssj0006499 |
| Score | 2.563226 |
| Snippet | The effectiveness of search-based automated program repair is limited in the number of correct patches that can be successfully generated. There are two causes... |
| SourceID | ieee acm |
| SourceType | Publisher |
| StartPage | 1 |
| SubjectTerms | Automated Program Repair Benchmark testing Computer bugs Context modeling Context-Aware Explosions Maintenance engineering Patch Prioritization Search problems Software Software and its engineering -- Software creation and management -- Software development techniques -- Error handling and recovery Software and its engineering -- Software creation and management -- Software verification and validation -- Software defect analysis -- Software testing and debugging |
| Title | Context-aware patch generation for better automated program repair |
| URI | https://ieeexplore.ieee.org/document/8453055 |
| WOSCitedRecordID | wos000454843300001&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/eLvHCXMwlZ1NS8NAEIaHtnjwVLUV6xcrCF7sR5LdzebYisWDlB4UegvZ7Cz2YCtpqn_f2U2sCIJ4CyEJYbKz-8xm5h2Aa0PQoEKb93UgTZ-HgSaXkuRXRnGVR4lA9JL5j_FsphaLZN6A210tDCL65DMcuEP_L9-s863bKhsqLpxAVROacSyrWq3dfopTLVEOdepZWBLK11I-ARdDGrqODgaRVzxzGoFZ_vqjo4pfUKbt_73KAXS_K_PYfLfmHEIDV0fQ_mrNwGpP7cDEq05RUDv-yAq6hSbcF1ZJTLsvwQhV2cRX8rDxtlwTtqJxD3a5WoygPFsWXXie3j_dPfTrdgn9LFSqpEgwGCVGxFxbrYPIJhkS3ISWQhJrR7nlWpFHo7XEWCiVjCgwNpIISxCmxFkcHUNrtV7hCTCUFBeaRCex5lwHQhuLCoUxuYqIf5IeXJH5UhcHbNKqtFmktYnT2sQ9uPnzmlQXS7Q96DgDp2-VvkZa2_b099NnsE_Qoqqkw3NolcUWL2Avfy-Xm-LSD4pPXuqwSw |
| linkProvider | IEEE |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlZ1NS8NAEIaHWgU9VW3F-hlB8GI_kmySzbEVS8VaeqjQ25LNzmIPtpKm-vedTdaKIIi3EJIQJju7z2xm3gG4VgQN3NNpS7qhajHPleRSIfmV4oynfhwgFpL5o2g85rNZPKnA7aYWBhGL5DNsm8PiX75apmuzVdbhLDACVVuwbTpn2WqtzY6K0S3hBnbsPBwSzFsxH5cFHRq8hg_afqF5ZlQCk_T1R0-VYkkZ1P73MvvQ-K7NcyabVecAKrg4hNpXcwbH-mod-oXuFIW1vY8ko1toyn1xSpFp8y0cglWnX9TyOL11viRwRWUebLK1HMLyZJ414HlwP70btmzDhFbicZ5TLOh2YxVETGopXV_HCRLeeJqCEq27qWaSk0-j1kRZGPLQp9BYhcRYAYFKlET-EVQXywUeg4MhRYYqlnEkGZNuIJVGjoFSKfeJgOImXJH5hIkEVqIsbg6ENbGwJm7CzZ_XCJnNUTehbgws3kqFDWFte_L76UvYHU6fRmL0MH48hT1CGF6mIJ5BNc_WeA476Xs-X2UXxQD5BMJZs5Q |
| 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%3Abook&rft.genre=proceeding&rft.title=2018+IEEE%2FACM+40th+International+Conference+on+Software+Engineering+%28ICSE%29&rft.atitle=Context-Aware+Patch+Generation+for+Better+Automated+Program+Repair&rft.au=Wen%2C+Ming&rft.au=Chen%2C+Junjie&rft.au=Wu%2C+Rongxin&rft.au=Hao%2C+Dan&rft.date=2018-05-01&rft.pub=ACM&rft.eissn=1558-1225&rft.spage=1&rft.epage=11&rft_id=info:doi/10.1145%2F3180155.3180233&rft.externalDocID=8453055 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9781450356381/lc.gif&client=summon&freeimage=true |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9781450356381/mc.gif&client=summon&freeimage=true |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9781450356381/sc.gif&client=summon&freeimage=true |

