Towards Boosting Patch Execution On-the-Fly

被引:7
作者
Benton, Samuel [1 ]
Xie, Yuntong [2 ]
Lu, Lan [3 ]
Zhangt, Mengshi [4 ]
Li, Xia [5 ]
Zhangt, Lingming [6 ]
机构
[1] Univ Texas Dallas, Dallas, TX USA
[2] Tsinghua Univ, Beijing, Peoples R China
[3] Southern Univ Sci & Technol, Shenzhen, Peoples R China
[4] Meta Platforms Inc, Menlo Pk, CA 94025 USA
[5] Kennesaw State Univ, Kennesaw, GA 30144 USA
[6] Univ Illinois, Urbana, IL 61801 USA
来源
2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2022) | 2022年
基金
美国国家科学基金会;
关键词
PROGRAM REPAIR;
D O I
10.1145/3510003.3510117
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Program repair is an integral part of every software system's life-cycle but can be extremely challenging. To date, various automated program repair (APR) techniques have been proposed to reduce manual debugging efforts. However, given a real-world buggy program, a typical APR technique can generate a large number of patches, each of which needs to be validated against the original test suite, incurring extremely high computation costs. Although existing APR techniques have already leveraged various static and/or dynamic information to find the desired patches faster, they are still rather costly. In this work, we propose SeAPR (Self-Boosted Automated Program Repair), the first general-purpose technique to leverage the earlier patch execution information during APR to directly boost existing APR techniques themselves on-the-fly. Our basic intuition is that patches similar to earlier high-quality/lowquality patches should be promoted/degraded to speed up the detection of the desired patches. The experimental study on 13 state-of-the-art APR tools demonstrates that, overall, SeAPR can substantially reduce the number of patch executions with negligible overhead. Our study also investigates the impact of various configurations on SeAPR. Lastly, our study demonstrates that SeAPR can even leverage the historical patch execution information from other APR tools for the same buggy program to further boost the current APR tool.
引用
收藏
页码:2165 / 2176
页数:12
相关论文
共 50 条
  • [1] On the accuracy of spectrum-based fault localization
    Abreu, Rui
    Zoeteweij, Peter
    van Gemund, Arjan J. C.
    [J]. TAIC PART 2007 - TESTING: ACADEMIC AND INDUSTRIAL CONFERENCE - PRACTICE AND RESEARCH TECHNIQUES, PROCEEDINGS: CO-LOCATED WITH MUTATION 2007, 2007, : 89 - +
  • [2] [Anonymous], 2020, TRIC REP
  • [3] [Anonymous], 2019, P 12 IEEE INT C SOFT
  • [4] On the Effectiveness of Unified Debugging: An Extensive Study on 16 Program Repair Systems
    Benton, Samuel
    Li, Xia
    Lou, Yiling
    Zhang, Lingming
    [J]. 2020 35TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2020), 2020, : 907 - 918
  • [5] Benton Samuel, 2021, IEEE T SOFTWARE ENG
  • [6] Boulder C., 2013, U CAMBRIDGE STUDY FA
  • [7] Chen Lingchao, 2021, 2021 IEEEACM 43 INT
  • [8] Z3: An efficient SMT solver
    de Moura, Leonardo
    Bjorner, Nikolaj
    [J]. TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, 2008, 4963 : 337 - 340
  • [9] Patching as Translation: the Data and the Metaphor
    Ding, Yangruibo
    Ray, Baishakhi
    Devanbu, Premkumar
    Hellendoorn, Vincent J.
    [J]. 2020 35TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2020), 2020, : 275 - 286
  • [10] Durieux T, 2016, 2016 IEEE/ACM 11TH INTERNATIONAL WORKSHOP IN AUTOMATION OF SOFTWARE TEST (AST), P85, DOI [10.1109/AST.2016.021, 10.1145/2896921.2896931]