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 条
  • [21] HuLP: Human-in-the-Loop for Prognosis
    Ridzuan, Muhammad
    Shaaban, Mai A.
    Saeed, Numan
    Sobirov, Ikboljon
    Yaqub, Mohammad
    MEDICAL IMAGE COMPUTING AND COMPUTER ASSISTED INTERVENTION - MICCAI 2024, PT V, 2024, 15005 : 328 - 338
  • [22] Human-in-the-Loop Schema Induction
    Zhang, Tianyi
    Than, Isaac
    Hou, Zhaoyi
    Ren, Jiaxuan
    Zhou, Liyang
    Xu, Hainiu
    Zhang, Li
    Martin, Lara J.
    Dror, Rotem
    Li, Sha
    Ji, Hang
    Palmer, Martha
    Brown, Susan
    Suchocki, Reece
    Callison-Burch, Chris
    PROCEEDINGS OF THE 61ST ANNUAL MEETING OF THE ASSOCIATION FOR COMPUTATIONAL LINGUISTICS, ACL-DEMO 2023, VOL 3, 2023, : 1 - 10
  • [23] Human-in-the-Loop Interpretability Prior
    Lage, Isaac
    Ross, Andrew Slavin
    Kim, Been
    Gershman, Samuel J.
    Doshi-Velez, Finale
    ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS 31 (NIPS 2018), 2018, 31
  • [24] Human-in-the-loop Outlier Detection
    Chai, Chengliang
    Cao, Lei
    Li, Guoliang
    Li, Jian
    Luo, Yuyu
    Madden, Samuel
    SIGMOD'20: PROCEEDINGS OF THE 2020 ACM SIGMOD INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 2020, : 19 - 33
  • [25] EasyDR: A Human-in-the-loop Error Detection&Repair Platform for Holistic Table Cleaning
    Xi, Yihai
    Wang, Ning
    Chen, Xinyu
    Zhang, Yiyi
    Wang, Zilong
    Xu, Zhihong
    Wang, Yue
    PROCEEDINGS OF THE VLDB ENDOWMENT, 2022, 15 (12): : 3578 - 3581
  • [26] Influence of Automatic Speech Recognition and Understanding on Flight Efficiency and Throughput - A Human-in-the-Loop Study
    Ahrenhold, Nils
    Helmke, Hartmut
    Muehlhausen, Thorsten
    Kleinert, Matthias
    Ohneiser, Oliver
    Ehr, Heiko
    2023 IEEE/AIAA 42ND DIGITAL AVIONICS SYSTEMS CONFERENCE, DASC, 2023,
  • [27] Automatic synchrotron tomographic alignment schemes based on genetic algorithms and human-in-the-loop software
    Zhang, Zhen
    Bi, Xiaoxue
    Li, Pengcheng
    Zhang, Chenglong
    Yang, Yiming
    Liu, Yu
    Chen, Gang
    Dong, Yuhui
    Liu, Gongfa
    Zhang, Yi
    JOURNAL OF SYNCHROTRON RADIATION, 2023, 30 : 169 - 178
  • [28] Dynamic Human-in-the-Loop Assertion Generation
    Zamprogno, Lucas
    Hall, Braxton
    Holmes, Reid
    Atlee, Joanne M.
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2023, 49 (04) : 2337 - 2351
  • [29] Human-in-the-loop visually servoed tracking
    Stanciu, RI
    Oh, PY
    CCCT 2003, VOL 5, PROCEEDINGS: COMPUTER, COMMUNICATION AND CONTROL TECHNOLOGIES: II, 2003, : 318 - 323
  • [30] Scalable Human-in-the-Loop Decision Support
    Georgescu, Ramona
    Reddy, Kishore
    Trcka, Nikola
    Chen, Mei
    Quimby, Paul
    O'Neill, Paul
    Khawaja, Taimoor
    Bertuccelli, Luca
    Hestand, Dan
    Sarkar, Soumik
    Erdinc, Ozgur
    Giering, Michael
    2015 IEEE AEROSPACE CONFERENCE, 2015,