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

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE) S. 1 - 11
Hauptverfasser: Wen, Ming, Chen, Junjie, Wu, Rongxin, Hao, Dan, Cheung, Shing-Chi
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