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 条
  • [21] Le Goues C, 2012, PROC INT CONF SOFTW, P3, DOI 10.1109/ICSE.2012.6227211
  • [22] History Driven Program Repair
    Le, Xuan-Bach D.
    Lo, David
    Le Goues, Claire
    [J]. 2016 IEEE 23RD INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), VOL 1, 2016, : 213 - 224
  • [23] On the Efficiency of Test Suite based Program Repair A Systematic Assessment of 16 Automated Repair Systems for Java']Java Programs
    Liu, Kui
    Wang, Shangwen
    Koyuncu, Anil
    Kim, Kisub
    Bissyande, Tegawende F.
    Kim, Dongsun
    Wu, Peng
    Klein, Jacques
    Mao, Xiaoguang
    Le Traon, Yves
    [J]. 2020 ACM/IEEE 42ND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2020), 2020, : 615 - 627
  • [24] TBar: Revisiting Template-Based Automated Program Repair
    Liu, Kui
    Koyuncu, Anil
    Kim, Dongsun
    Bissyande, Tegawende F.
    [J]. PROCEEDINGS OF THE 28TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS (ISSTA '19), 2019, : 31 - 42
  • [25] Automatic Inference of Code Transforms for Patch Generation
    Long, Fan
    Amidon, Peter
    Rinard, Martin
    [J]. ESEC/FSE 2017: PROCEEDINGS OF THE 2017 11TH JOINT MEETING ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2017, : 727 - 739
  • [26] An Analysis of the Search Spaces for Generate and Validate Patch Generation Systems
    Long, Fan
    Rinard, Martin
    [J]. 2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2016, : 702 - 713
  • [27] Staged Program Repair with Condition Synthesis
    Long, Fan
    Rinard, Martin
    [J]. 2015 10TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE 2015) PROCEEDINGS, 2015, : 166 - 178
  • [28] Automatic Patch Generation by Learning Correct Code
    Long, Fan
    Rinard, Martin
    [J]. ACM SIGPLAN NOTICES, 2016, 51 (01) : 298 - 312
  • [29] Lou YL, 2020, PROCEEDINGS OF THE 29TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, ISSTA 2020, P75, DOI 10.1145/3395363.3397351
  • [30] History-Driven Build Failure Fixing: How Far Are We?
    Lou, Yiling
    Chen, Junjie
    Zhang, Lingming
    Hao, Dan
    Zhang, Lu
    [J]. PROCEEDINGS OF THE 28TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS (ISSTA '19), 2019, : 43 - 54