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 条
  • [41] A Human-in-the-Loop Environment for Developmental Biology
    Daeschinger, Melanie
    Knote, Andreas
    Green, Rebecca
    von Mammen, Sebastian
    FOURTEENTH EUROPEAN CONFERENCE ON ARTIFICIAL LIFE (ECAL 2017), 2017, : 475 - 482
  • [42] Human-in-the-Loop Control: Applications and Categorization
    Samad, Tariq
    IFAC PAPERSONLINE, 2020, 53 (05): : 311 - 317
  • [43] Human-in-the-loop image segmentation and annotation
    Xiaoya ZHANG
    Lianjie WANG
    Jin XIE
    Pengfei ZHU
    Science China(Information Sciences), 2020, 63 (11) : 290 - 292
  • [44] Human-in-the-Loop Web Resource Classification
    Castano, Silvana
    Ferrara, Alfio
    Montanelli, Stefano
    ON THE MOVE TO MEANINGFUL INTERNET SYSTEMS: OTM 2016 CONFERENCES, 2016, 10033 : 229 - 244
  • [45] Human-in-the-loop Abstractive Dialogue Summarization
    Chen, Jiaao
    Doddat, Mohan
    Yang, Diyi
    FINDINGS OF THE ASSOCIATION FOR COMPUTATIONAL LINGUISTICS (ACL 2023), 2023, : 9176 - 9190
  • [46] A POMDP Framework for Human-in-the-Loop System
    Lam, Chi-Pang
    Sastry, S. Shankar
    2014 IEEE 53RD ANNUAL CONFERENCE ON DECISION AND CONTROL (CDC), 2014, : 6031 - 6036
  • [47] Human-in-the-Loop Data Integration System
    Sun J.
    Li G.-L.
    Jisuanji Xuebao/Chinese Journal of Computers, 2022, 45 (03): : 654 - 668
  • [48] Human-in-the-loop image segmentation and annotation
    Zhang, Xiaoya
    Wang, Lianjie
    Xie, Jin
    Zhu, Pengfei
    SCIENCE CHINA-INFORMATION SCIENCES, 2020, 63 (11)
  • [49] A Human-in-the-Loop Evaluation of ACAS Xu
    Rorie, R. Conrad
    Smith, Casey
    Sadler, Garrett
    Monk, Kevin J.
    Tyson, Terence L.
    Keeler, Jillian
    2020 AIAA/IEEE 39TH DIGITAL AVIONICS SYSTEMS CONFERENCE (DASC) PROCEEDINGS, 2020,
  • [50] Interpretation of Sentiment Analysis with Human-in-the-Loop
    Yeruva, Vijaya Kumari
    Chandrashekar, Mayanka
    Lee, Yugyung
    Rydberg-Cox, Jeff
    Blanton, Virginia
    Oyler, Nathan A.
    2020 IEEE INTERNATIONAL CONFERENCE ON BIG DATA (BIG DATA), 2020, : 3099 - 3108