Efficient Automated Program Repair through Fault-Recorded Testing Prioritization

Most techniques for automated program repair use test cases to validate the effectiveness of the produced patches. The validation process can be time-consuming especially when the object programs ship with either lots of test cases or some long-running test cases. To alleviate the cost for testing,...

Full description

Saved in:
Bibliographic Details
Published inProceedings - Conference on Software Maintenance (1987) pp. 180 - 189
Main Authors Yuhua Qi, Xiaoguang Mao, Yan Lei
Format Conference Proceeding
LanguageEnglish
Published IEEE 01.09.2013
Subjects
Online AccessGet full text
ISSN1063-6773
DOI10.1109/ICSM.2013.29

Cover

Abstract Most techniques for automated program repair use test cases to validate the effectiveness of the produced patches. The validation process can be time-consuming especially when the object programs ship with either lots of test cases or some long-running test cases. To alleviate the cost for testing, we first introduce regression test prioritization insight into the area of automated program repair, and present a novel prioritization technique called FRTP with the goal of reducing the number of test case executions in the repair process. Unlike most existing prioritization techniques frequently requiring additional cost for gathering previous test executions information, FRTP iteratively extracts that information just from the repair process, and thus incurs trivial performance lose. We also built a tool called TrpAutoRepair, which implements our FRTP technique and has the ability of automatically repairing C programs. To evaluate TrpAutoRepair, we compared it with GenProg, a state-of-the-art tool for automated C program repair. The experiment on the 5 subject programs with 16 real-life bugs provides evidence that TrpAutoRepair performs at least as good as GenProg in term of success rate, in most cases (15/16), TrpAutoRepair can significantly improve the repair efficiency by reducing efficiently the test case executions when searching a valid patch in the repair process.
AbstractList Most techniques for automated program repair use test cases to validate the effectiveness of the produced patches. The validation process can be time-consuming especially when the object programs ship with either lots of test cases or some long-running test cases. To alleviate the cost for testing, we first introduce regression test prioritization insight into the area of automated program repair, and present a novel prioritization technique called FRTP with the goal of reducing the number of test case executions in the repair process. Unlike most existing prioritization techniques frequently requiring additional cost for gathering previous test executions information, FRTP iteratively extracts that information just from the repair process, and thus incurs trivial performance lose. We also built a tool called TrpAutoRepair, which implements our FRTP technique and has the ability of automatically repairing C programs. To evaluate TrpAutoRepair, we compared it with GenProg, a state-of-the-art tool for automated C program repair. The experiment on the 5 subject programs with 16 real-life bugs provides evidence that TrpAutoRepair performs at least as good as GenProg in term of success rate, in most cases (15/16), TrpAutoRepair can significantly improve the repair efficiency by reducing efficiently the test case executions when searching a valid patch in the repair process.
Author Yan Lei
Xiaoguang Mao
Yuhua Qi
Author_xml – sequence: 1
  surname: Yuhua Qi
  fullname: Yuhua Qi
  email: yuhua.qi@nudt.edu.cn
  organization: Sch. of Comput., Nat. Univ. of Defense Technol., Changsha, China
– sequence: 2
  surname: Xiaoguang Mao
  fullname: Xiaoguang Mao
  email: xgmao@nudt.edu.cn
  organization: Sch. of Comput., Nat. Univ. of Defense Technol., Changsha, China
– sequence: 3
  surname: Yan Lei
  fullname: Yan Lei
  email: yanlei@nudt.edu.cn
  organization: Sch. of Comput., Nat. Univ. of Defense Technol., Changsha, China
BookMark eNotzE1PwjAcgPGaYCIgN29e9gU2-1_fj4SAkGAkiGfSru2ogZV03UE_vSR6ei6_PBM06mLnEHoCXAFg9bJZfLxVNQZS1eoOzZSQWHDFqJIAIzQGzEnJhSAPaNL3XxgzKggdo93S-9AE1-ViPuR40dnZYpdim_Sl2LurDqnIpxSH9lSs9HDO5d41MdmbOrg-h6696RBTyOFH5xC7R3Tv9bl3s_9O0edqeVisy-3762Yx35YBBMulB22Bg_KmYQ31RgsKjastkxaIkY0FwzwwLRWVluGaWiu5oZIZocAoRqbo-e8bnHPHawoXnb6PnAsupSK_y09RJQ
CODEN IEEPAD
ContentType Conference Proceeding
DBID 6IE
6IH
CBEJK
RIE
RIO
DOI 10.1109/ICSM.2013.29
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://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 9780769549811
0769549810
EndPage 189
ExternalDocumentID 6676889
Genre orig-research
GroupedDBID 6IE
6IF
6IH
6IK
6IL
6IM
6IN
AAJGR
AAWTH
ADZIZ
ALMA_UNASSIGNED_HOLDINGS
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
CHZPO
IPLJI
OCL
RIE
RIL
RIO
RNS
ID FETCH-LOGICAL-i175t-f1ad1619fbc5c4fba741ce2d58d13b8cd1b5f15a8948d5024dd86b485b791b953
IEDL.DBID RIE
ISSN 1063-6773
IngestDate Wed Aug 27 05:15:00 EDT 2025
IsPeerReviewed false
IsScholarly false
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-i175t-f1ad1619fbc5c4fba741ce2d58d13b8cd1b5f15a8948d5024dd86b485b791b953
PageCount 10
ParticipantIDs ieee_primary_6676889
PublicationCentury 2000
PublicationDate 2013-Sept.
PublicationDateYYYYMMDD 2013-09-01
PublicationDate_xml – month: 09
  year: 2013
  text: 2013-Sept.
PublicationDecade 2010
PublicationTitle Proceedings - Conference on Software Maintenance (1987)
PublicationTitleAbbrev icsm
PublicationYear 2013
Publisher IEEE
Publisher_xml – name: IEEE
SSID ssj0054734
ssib026764022
Score 1.7769397
Snippet Most techniques for automated program repair use test cases to validate the effectiveness of the produced patches. The validation process can be time-consuming...
SourceID ieee
SourceType Publisher
StartPage 180
SubjectTerms automated debugging
automated program repair
Computer bugs
Context
Data mining
efficiency
Fault detection
Indexes
Maintenance engineering
test case prioritization
Testing
Title Efficient Automated Program Repair through Fault-Recorded Testing Prioritization
URI https://ieeexplore.ieee.org/document/6676889
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV3PS8MwGA2bJ09TN_E3PXg0dWmTNjnK2JjCZOAGu438lKF0MtqLf71f0q6KePBSSpOWkLa89yXf9x5CtyTVFqAgwVTKDA5CYjkkFguVK6AHLhlqvzQwe86mS_q0YqsOumtrYay1IfnMxv407OWbra78Ullw7uNcdFE351ldq7X_dhJoglColY7ylrphRxkgGGd5nrZJ7-L-cfQy80ldaeyJ5Q9TlYApkx6a7UdTp5K8xVWpYv35S6jxv8M9QoPv6r1o3uLSMerY4gT19vYNUfM399F8HOQj4BnRQ1Vugbpa42_0-VoREHO52UWNjU80kdV7ietYFXotvDZH8Qq9N1uvilTXcg7QcjJejKa4MVjAG2ANJXZEGmB8winNNHVKAr3QNjGMG5Iqrg1RzBEmuaDcMEBzY3imKGcqF0QJlp6ig2Jb2DMUceKDOUe9hBfVLhVEmNQJrhOXQJRNz1HfT9D6o9bQWDdzc_H35Ut0mATbCZ_LdYUOyl1lrwH8S3UT3voXtiqtJA
linkProvider IEEE
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV3PT8IwGG0QD3pCBeNvd_DokG7taI-GQEAZIRESbqQ_DdFshmwX_3q_doDGePCyLGu3NE2X733t-95D6A7HykAoiEIiRAIXLkLRwSbksisBHtioo9zWQDpJhnPytKCLGrrf1cIYYzz5zLTdrT_L17kq3VaZd-5jjO-hfUoIoVW11nb1RNAIydBOPMqZ6vozZQjCYdLtxjvaO38Y9V5SR-uK2w5a_rBV8VFl0EDpdjwVmeStXRayrT5_STX-d8BHqPVdvxdMd5HpGNVMdoIaWwOHYPM_N9G07wUk4BvBY1nkAF6Ndi86xlYA0Fys1sHGyCcYiPK9CKtsFXrNnDpH9gq9V7nTRaqqOVtoPujPesNwY7EQrgA3FKHFQgPm41YqqoiVAgCGMpGmTONYMqWxpBZTwThhmkI815olkjAquxxLTuNTVM_yzJyhgGGXzlniRLyIsjHHXMeWMxXZCPJsco6aboKWH5WKxnIzNxd_P75FB8NZOl6OR5PnS3QYeRMKx-y6QvViXZprgAKFvPEr4Av39rBx
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=Proceedings+-+Conference+on+Software+Maintenance+%281987%29&rft.atitle=Efficient+Automated+Program+Repair+through+Fault-Recorded+Testing+Prioritization&rft.au=Yuhua+Qi&rft.au=Xiaoguang+Mao&rft.au=Yan+Lei&rft.date=2013-09-01&rft.pub=IEEE&rft.issn=1063-6773&rft.spage=180&rft.epage=189&rft_id=info:doi/10.1109%2FICSM.2013.29&rft.externalDocID=6676889
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1063-6773&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1063-6773&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1063-6773&client=summon