Towards efficient and effective automatic program repair

Automatic Program Repair (APR) has recently been an emerging research area, addressing an important challenge in software engineering. APR techniques, if effective and efficient, can greatly help software debugging and maintenance. Recently proposed APR techniques can be generally classified into tw...

Full description

Saved in:
Bibliographic Details
Published inProceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering pp. 876 - 879
Main Author Le, Xuan-Bach D.
Format Conference Proceeding
LanguageEnglish
Published ACM 01.09.2016
Subjects
Online AccessGet full text
DOI10.1145/2970276.2975934

Cover

Abstract Automatic Program Repair (APR) has recently been an emerging research area, addressing an important challenge in software engineering. APR techniques, if effective and efficient, can greatly help software debugging and maintenance. Recently proposed APR techniques can be generally classified into two families, namely search-based and semantics-based APR methods. To produce repairs, search based APR techniques generate huge populations of possible repairs, i.e., search space, and lazily search for the best one among the search space. Semantics-based APR techniques utilize constraint solving and program synthesis to make search space more tractable, and find those repairs that conform to semantics constraints extracted via symbolic execution. Despite recent advances in APR, search-based APR still suffers from search space explosion problem, while the semantics-based APR could be hindered by limited capability of constraint solving and program synthesis. Furthermore, both APR families may be subject to overfitting, in which generated repairs do not generalize to other test sets. This thesis works towards enhancing both effectiveness and efficiency in order for APR to be practically adopted in foreseeable future. To achieve this goal, other than using test cases as the primary criteria for traversing the search space, we designed a new feature used for a new search-based APR technique to effectively traverse the search space, wherein bug fix history is used to evaluate the quality of repair candidates. We also developed a deductive-reasoning-based repair technique that combines search-based and semantics-based approaches to enhance the repair capability, while ensuring the soundness of generated repairs. We also leveraged machine-learning techniques to build a predictive model that predicts whether an APR technique is effective in fixing particular bugs. In the future, we plan to synergize many existing APR techniques, improve our predictive model, and adopt the advances of other fields such as test case generation and program synthesis for APR.
AbstractList Automatic Program Repair (APR) has recently been an emerging research area, addressing an important challenge in software engineering. APR techniques, if effective and efficient, can greatly help software debugging and maintenance. Recently proposed APR techniques can be generally classified into two families, namely search-based and semantics-based APR methods. To produce repairs, search based APR techniques generate huge populations of possible repairs, i.e., search space, and lazily search for the best one among the search space. Semantics-based APR techniques utilize constraint solving and program synthesis to make search space more tractable, and find those repairs that conform to semantics constraints extracted via symbolic execution. Despite recent advances in APR, search-based APR still suffers from search space explosion problem, while the semantics-based APR could be hindered by limited capability of constraint solving and program synthesis. Furthermore, both APR families may be subject to overfitting, in which generated repairs do not generalize to other test sets. This thesis works towards enhancing both effectiveness and efficiency in order for APR to be practically adopted in foreseeable future. To achieve this goal, other than using test cases as the primary criteria for traversing the search space, we designed a new feature used for a new search-based APR technique to effectively traverse the search space, wherein bug fix history is used to evaluate the quality of repair candidates. We also developed a deductive-reasoning-based repair technique that combines search-based and semantics-based approaches to enhance the repair capability, while ensuring the soundness of generated repairs. We also leveraged machine-learning techniques to build a predictive model that predicts whether an APR technique is effective in fixing particular bugs. In the future, we plan to synergize many existing APR techniques, improve our predictive model, and adopt the advances of other fields such as test case generation and program synthesis for APR.
Author Le, Xuan-Bach D.
Author_xml – sequence: 1
  givenname: Xuan-Bach D.
  surname: Le
  fullname: Le, Xuan-Bach D.
  email: dxb.le.2013@phdis.smu.edu.sg
  organization: Sch. of Inf. Syst., Singapore Manage. Univ., Singapore, Singapore
BookMark eNotjMtKxEAQRVtQUMesXbjJD8xYqepH9VIGdYQBN-N66HQq0mIedKLi3xvR1eFyuOdSnfZDL0pdV7CpKm1u0TtAZzcLjSd9ogrveBFAxNqYc1VM0xsAIFpPiBeKD8NXyM1UStummKSfy9A3v0vinD6lDB_z0IU5xXLMw2sOXZllDClfqbM2vE9S_HOlXh7uD9vdev_8-LS9268DajevGaIRU1OEugIPxjgvUdjbRmq2UHNkR87VLGyJlws25IzWESN6b5lW6uavm0TkOObUhfx9dIaRqaIfAWVFvA
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1145/2970276.2975934
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Xplore POP ALL
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP All) 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
EISBN 9781450338455
1450338453
EndPage 879
ExternalDocumentID 7582831
Genre orig-research
GroupedDBID 6IE
6IL
ACM
ALMA_UNASSIGNED_HOLDINGS
APO
CBEJK
GUFHI
LHSKQ
RIE
RIL
ID FETCH-LOGICAL-a247t-80c5e5b3c0b10905579ece896deb860b8c87377b8e86382472d37544c2c299683
IEDL.DBID RIE
IngestDate Wed Aug 27 01:41:41 EDT 2025
IsPeerReviewed false
IsScholarly false
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a247t-80c5e5b3c0b10905579ece896deb860b8c87377b8e86382472d37544c2c299683
PageCount 4
ParticipantIDs ieee_primary_7582831
PublicationCentury 2000
PublicationDate 2016-Sept.
PublicationDateYYYYMMDD 2016-09-01
PublicationDate_xml – month: 09
  year: 2016
  text: 2016-Sept.
PublicationDecade 2010
PublicationTitle Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering
PublicationTitleAbbrev ASE
PublicationYear 2016
Publisher ACM
Publisher_xml – name: ACM
SSID ssj0002269322
Score 1.6780407
Snippet Automatic Program Repair (APR) has recently been an emerging research area, addressing an important challenge in software engineering. APR techniques, if...
SourceID ieee
SourceType Publisher
StartPage 876
SubjectTerms Automatic Program Repair
Computer bugs
Deductive Reasoning
Genetic Programming
History
Maintenance engineering
Mining Software Repository
Search problems
Semantics
Software
Syntactics
Title Towards efficient and effective automatic program repair
URI https://ieeexplore.ieee.org/document/7582831
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV09T8MwED2VTkyAWsS3PDCSNE38lRlRVUhFDK3UrfLHDQgpRSFZ-PWcnRAQYmCLIjmxZdnvzn73HsCtFb5ELHyiS5clnDCIlpSWiRGFoZ3So442nasnudzwx63YjuBuqIVBxEg-wzQ8xrt8v3dtOCqbqXDHE4qmD5SWXa3WcJ5CYQSFInmv3jPnYpaXinIumYba0TIYI_-wT4nosTiC1dd_O9LIa9o2NnUfvyQZ_9uxY5h-1-mx5wGBTmCE1QT0OjJh3xlGdQhqyEzlWUfcoL2NmbbZR6FW1pOzWE2Y9FJPYbN4WN8vk94fITE5Vw2BixMobOEyG-iVQqgSHepSerRaZlY7rQqlrEZNq4ya5D4Y3nKXOwIhqYtTGFf7Cs-AcWEt5VKFoYSP09csAb3LOXUtyPPM7TlMwqh3b50Exq4f8MXfry_hkOIK2VGxrmDc1C1eE3Y39iZO2ickQJfo
linkProvider IEEE
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV09T8MwED1VZYAJUIv4xgMjSdvEX5kRVYC2YmilblVs34CQUlSShV_fsxMKQgxsUSQntiz73dnv3gO4NcJliKmLdGaHEScMoiWlZVSItKCd0qEONp3TmcwX_Gkplh2429XCIGIgn2HsH8Ndvlvb2h-VDZS_4_FF03uCcy6aaq3diQoFEhSMJK1-z4iLQZIpyrpk7KtHM2-N_MNAJeDH-BCmX39uaCNvcV2Z2H7-EmX8b9eOoP9dqcdedhh0DB0se6DngQv7wTDoQ1BDVpSONdQN2t1YUVfrINXKWnoW2xAqvW76sBg_zO_zqHVIiIqEq4rgxQoUJrVD4wmWQqgMLepMOjRaDo22WqVKGY2a1hk1SZy3vOU2sQRDUqcn0C3XJZ4C48IYyqbSglI-Tl8zBPU24dQ1L9AzMmfQ86NevTciGKt2wOd_v76B_Xw-nawmj7PnCzigKEM2xKxL6FabGq8IyStzHSZwC01amzU
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+of+the+31st+IEEE%2FACM+International+Conference+on+Automated+Software+Engineering&rft.atitle=Towards+efficient+and+effective+automatic+program+repair&rft.au=Le%2C+Xuan-Bach+D.&rft.date=2016-09-01&rft.pub=ACM&rft.spage=876&rft.epage=879&rft_id=info:doi/10.1145%2F2970276.2975934&rft.externalDocID=7582831