Human-in-the-Loop Automatic Program Repair

被引:1
|
作者
Geethal, Charaka [1 ,2 ]
Bohme, Marcel [3 ]
Pham, Van-Thuan [4 ]
机构
[1] Monash Univ, Clayton, Vic 3800, Australia
[2] Univ Ruhuna, Fac Sci, Dept Comp Sci, Matara 81000, Sri Lanka
[3] Max Planck Inst Secur & Privacy, D-44799 Bochum, Germany
[4] Univ Melbourne, Carlton, Vic 3053, Australia
关键词
Automated test oracles; semi-automatic program repair; classification algorithms; active machine learning; GENERATION;
D O I
10.1109/TSE.2023.3305052
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
learn2fix is a human-in-the-loop interactive program repair technique, which can be applied when no bug oracle-except the user who is reporting the bug-is available. This approach incrementally learns the condition under which the bug is observed by systematic negotiation with the user. In this process, learn2fix generates alternative test inputs and sends some of those to the user for obtaining their labels. A limited query budget is assigned to the user for this task. A query is a Yes/No question: "When executing this alternative test input, the program under test produces the following output; is the bug observed?". Using the labelled test inputs, learn2fix incrementally learns an automatic bug oracle to predict the user's response. A classification algorithm in machine learning is used for this task. Our key challenge is to maximise the oracle's accuracy in predicting the tests that expose the bug given a practical, small budget of queries. After learning the automatic oracle, an existing program repair tool attempts to repair the bug using the alternative tests that the user has labelled. Our experiments demonstrate that learn2fix trains a sufficiently accurate automatic oracle with a reasonably low labelling effort (lt. 20 queries), and the oracles represented by interpolation-based classifiers produce more accurate predictions than those represented by approximation-based classifiers. Given the user-labelled test inputs, generated using the interpolation-based approach, the GenProg and Angelix automatic program repair tools produce patches that pass a much larger proportion of validation tests than the manually constructed test suites provided by the repair benchmark.
引用
收藏
页码:4526 / 4549
页数:24
相关论文
共 50 条
  • [1] Human-In-The-Loop Automatic Program Repair
    Bohme, Marcel
    Geethal, Charaka
    Van-Thuan Pham
    2020 IEEE 13TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VALIDATION AND VERIFICATION (ICST 2020), 2020, : 274 - 285
  • [2] Shipwright: A Human-in-the-Loop System for Dockerfile Repair
    Henkel, Jordan
    Silva, Denini
    Teixeira, Leopoldo
    D'Amorim, Marcelo
    Reps, Thomas
    2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2021), 2021, : 1148 - 1160
  • [3] Shipwright: A Human-in-the-Loop System for Dockerfile Repair
    Henkel, Jordan
    Silva, Denini
    Teixeira, Leopoldo
    D'Amorim, Marcelo
    Reps, Thomas
    2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2021), 2021, : 198 - 199
  • [4] Human-in-the-Loop Program Synthesis for Live Coding
    Santolucito, Mark
    PROCEEDINGS OF THE 9TH ACM SIGPLAN INTERNATIONAL WORKSHOP ON FUNCTIONAL ART, MUSIC, MODELLING, AND DESIGN (FARM '21), 2021, : 47 - 53
  • [5] SERENADE: A Model for Human-in-the-loop Automatic Chord Estimation
    Koops, Hendrik Vincent
    Micchi, Gianluca
    Manco, Ilaria
    Quinton, Elio
    2023 4TH INTERNATIONAL SYMPOSIUM ON THE INTERNET OF SOUNDS, 2023, : 136 - 142
  • [6] Towards Explainable Automatic Knowledge Graph Construction with Human-in-the-Loop
    Zhang, Bohui
    Merono Penuela, Albert
    Simperl, Elena
    HHAI 2023: AUGMENTING HUMAN INTELLECT, 2023, 368 : 274 - 289
  • [7] Human-in-the-Loop SLAM
    Nashed, Samer B.
    Biswas, Joydeep
    THIRTY-SECOND AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE / THIRTIETH INNOVATIVE APPLICATIONS OF ARTIFICIAL INTELLIGENCE CONFERENCE / EIGHTH AAAI SYMPOSIUM ON EDUCATIONAL ADVANCES IN ARTIFICIAL INTELLIGENCE, 2018, : 1503 - 1510
  • [8] Human-in-the-Loop Mixup
    Collins, Katherine M.
    Bhatt, Umang
    Liu, Weiyang
    Piratla, Vihari
    Sucholutsky, Ilia
    Love, Bradley
    Weller, Adrian
    UNCERTAINTY IN ARTIFICIAL INTELLIGENCE, 2023, 216 : 454 - 464
  • [9] Human-in-the-Loop Insulin Dosing
    Bequette, B. Wayne
    JOURNAL OF DIABETES SCIENCE AND TECHNOLOGY, 2021, 15 (03): : 699 - 704
  • [10] Human-in-the-loop Data Integration
    Li, Guoliang
    PROCEEDINGS OF THE VLDB ENDOWMENT, 2017, 10 (12): : 2006 - 2017