Human-In-The-Loop Automatic Program Repair

We introduce Learn2fix, the first human-in-the-loop, semi-automatic repair technique when no bug oracle--except for the user who is reporting the bug--is available. Our approach negotiates with the user the condition under which the bug is observed. Only when a budget of queries to the user is exhau...

Full description

Saved in:
Bibliographic Details
Main Authors Böhme, Marcel, Geethal, Charaka, Pham, Van-Thuan
Format Journal Article
LanguageEnglish
Published 16.12.2019
Subjects
Online AccessGet full text

Cover

Loading…
Abstract We introduce Learn2fix, the first human-in-the-loop, semi-automatic repair technique when no bug oracle--except for the user who is reporting the bug--is available. Our approach negotiates with the user the condition under which the bug is observed. Only when a budget of queries to the user is exhausted, it attempts to repair the bug. A query can be thought of as the following question: "When executing this alternative test input, the program produces the following output; is the bug observed"? Through systematic queries, Learn2fix trains an automatic bug oracle that becomes increasingly more accurate in predicting the user's response. Our key challenge is to maximize the oracle's accuracy in predicting which tests are bug-exposing given a small budget of queries. From the alternative tests that were labeled by the user, test-driven automatic repair produces the patch. Our experiments demonstrate that Learn2fix learns a sufficiently accurate automatic oracle with a reasonably low labeling effort (lt. 20 queries). Given Learn2fix's test suite, the GenProg test-driven repair tool produces a higher-quality patch (i.e., passing a larger proportion of validation tests) than using manual test suites provided with the repair benchmark.
AbstractList We introduce Learn2fix, the first human-in-the-loop, semi-automatic repair technique when no bug oracle--except for the user who is reporting the bug--is available. Our approach negotiates with the user the condition under which the bug is observed. Only when a budget of queries to the user is exhausted, it attempts to repair the bug. A query can be thought of as the following question: "When executing this alternative test input, the program produces the following output; is the bug observed"? Through systematic queries, Learn2fix trains an automatic bug oracle that becomes increasingly more accurate in predicting the user's response. Our key challenge is to maximize the oracle's accuracy in predicting which tests are bug-exposing given a small budget of queries. From the alternative tests that were labeled by the user, test-driven automatic repair produces the patch. Our experiments demonstrate that Learn2fix learns a sufficiently accurate automatic oracle with a reasonably low labeling effort (lt. 20 queries). Given Learn2fix's test suite, the GenProg test-driven repair tool produces a higher-quality patch (i.e., passing a larger proportion of validation tests) than using manual test suites provided with the repair benchmark.
Author Pham, Van-Thuan
Geethal, Charaka
Böhme, Marcel
Author_xml – sequence: 1
  givenname: Marcel
  surname: Böhme
  fullname: Böhme, Marcel
– sequence: 2
  givenname: Charaka
  surname: Geethal
  fullname: Geethal, Charaka
– sequence: 3
  givenname: Van-Thuan
  surname: Pham
  fullname: Pham, Van-Thuan
BackLink https://doi.org/10.48550/arXiv.1912.07758$$DView paper in arXiv
BookMark eNotzrFuwjAUhWEPZaDAAzA1cyWnvtjXNiNCUJAitULZo5vg20Zq4sgF1L49Le10_unouxd3feyDEHNQufGI6onSV3vJYQmLXDmHfiwed-eOernvZfkeZBHjkK3Op9jRqW2y1xTfEnXZIQzUpqkYMX18htn_TkS53ZTrnSxenvfrVSHJOi8dgTVWsQfg0GivwP_EETQyeGUNhyXaYLVmRLZsnKoXRzLMqOoGTa0n4uHv9oathtR2lL6rX3R1Q-srWg48jQ
ContentType Journal Article
Copyright http://arxiv.org/licenses/nonexclusive-distrib/1.0
Copyright_xml – notice: http://arxiv.org/licenses/nonexclusive-distrib/1.0
DBID AKY
GOX
DOI 10.48550/arxiv.1912.07758
DatabaseName arXiv Computer Science
arXiv.org
DatabaseTitleList
Database_xml – sequence: 1
  dbid: GOX
  name: arXiv.org
  url: http://arxiv.org/find
  sourceTypes: Open Access Repository
DeliveryMethod fulltext_linktorsrc
ExternalDocumentID 1912_07758
GroupedDBID AKY
GOX
ID FETCH-LOGICAL-a678-7a16460f811fec380181fed135f18064fe956e633f55f6f470b2da4ff50bc54b3
IEDL.DBID GOX
IngestDate Mon Jan 08 05:46:59 EST 2024
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed false
IsScholarly false
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a678-7a16460f811fec380181fed135f18064fe956e633f55f6f470b2da4ff50bc54b3
OpenAccessLink https://arxiv.org/abs/1912.07758
ParticipantIDs arxiv_primary_1912_07758
PublicationCentury 2000
PublicationDate 2019-12-16
PublicationDateYYYYMMDD 2019-12-16
PublicationDate_xml – month: 12
  year: 2019
  text: 2019-12-16
  day: 16
PublicationDecade 2010
PublicationYear 2019
Score 1.7521473
SecondaryResourceType preprint
Snippet We introduce Learn2fix, the first human-in-the-loop, semi-automatic repair technique when no bug oracle--except for the user who is reporting the bug--is...
SourceID arxiv
SourceType Open Access Repository
SubjectTerms Computer Science - Artificial Intelligence
Computer Science - Software Engineering
Title Human-In-The-Loop Automatic Program Repair
URI https://arxiv.org/abs/1912.07758
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwdV07T8MwED61nVgQCFB5ygMTkiGOHwljhSgFIWAoUrbIT6lLU4UU8fM5O0GwsNq3nE_29519_g7gknlpzC3j1FplqRDeUFNE2crcxYJKp3A8Vlu8qMW7eKpkNQLy8xdGt1-rz14f2HzcYDKRX0eRtnIM4zyPJVsPr1X_OJmkuAb7XzvkmGnoD0jM92B3YHdk1odjH0Z-fQBX6aKcPq4pxoQ-N82GzLZdk7RSyVtfH0WQCOtVewjL-f3ybkGHFgVU4ylPCx3lubJQMha85WVUvwreMS4DKxHsg8f0wyvOg5RBBVFkJndahCAzY6Uw_AgmmOX7KRBE7kxzhU4I3FTW68IhFeKFRQrivFTHME2O1ZtehaKOPtfJ55P_p05hBxE-NTxg6gwmXbv154iinblIS_kN4ctv9A
link.rule.ids 228,230,783,888
linkProvider Cornell University
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=article&rft.atitle=Human-In-The-Loop+Automatic+Program+Repair&rft.au=B%C3%B6hme%2C+Marcel&rft.au=Geethal%2C+Charaka&rft.au=Pham%2C+Van-Thuan&rft.date=2019-12-16&rft_id=info:doi/10.48550%2Farxiv.1912.07758&rft.externalDocID=1912_07758