Accelerating Search-based Program Repair

被引:17
|
作者
Mehne, Ben [1 ]
Yoshida, Hiroaki [2 ]
Prasad, Mukul R. [2 ]
Sen, Koushik [1 ]
Gopinath, Divya [3 ]
Khurshid, Sarfraz [4 ]
机构
[1] Univ Calif Berkeley, Berkeley, CA 94720 USA
[2] Fujitsu Labs Amer Inc, Sunnyvale, CA USA
[3] CMU Silicon Valley, Moffett Field, CA USA
[4] Univ Texas Austin, Austin, TX 78712 USA
来源
2018 IEEE 11TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST) | 2018年
基金
美国国家科学基金会;
关键词
TEST SELECTION TECHNIQUES; REGRESSION;
D O I
10.1109/ICST.2018.00031
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Automatic program repair techniques offer the possibility of reducing, or even eliminating, the substantial manual effort that currently goes into the patching of software defects. However, current repair techniques take minutes or hours, to generate rather simple repairs, severely limiting their practical applicability. Search-based program repair represents a popular class of automatic repair techniques. Patch compilation and test case execution are the dominant contributors to runtime in this class of repair techniques. In this work we propose two complementary techniques, namely Location Selection and Test-Case Pruning, to improve the efficiency of search-based repair techniques. Location Selection reduces the number of repair candidates examined in arriving at a repair, thereby reducing the number of patch compilations as well as the overall number of test case evaluations during the repair process. Test-Case Pruning, on the other hand, optimizes the number of test cases executed per examined candidate. We implement the proposed techniques in the context of SPR, a state-of-the-art search-based repair tool, evaluate them on the GenProg benchmarks and observe that the proposed techniques provide a 3.9X speed-up, on average, without any degradation in repair quality.
引用
收藏
页码:227 / 238
页数:12
相关论文
共 50 条
  • [1] A Novel Approach For Search-Based Program Repair
    Trujillo, Leonardo
    Villanueva, Omar M.
    Hernandez, Daniel Eduardo
    IEEE SOFTWARE, 2021, 38 (04) : 36 - 42
  • [2] Refining Fitness Functions for Search-Based Program Repair
    Bian, Zhiqiang
    Blot, Aymeric
    Petke, Justyna
    2021 IEEE/ACM INTERNATIONAL WORKSHOP ON AUTOMATED PROGRAM REPAIR (APR 2021), 2021, : 1 - 8
  • [3] Anti-patterns in Search-Based Program Repair
    Tan, Shin Hwei
    Yoshida, Hiroaki
    Prasad, Mukul R.
    Roychoudhury, Abhik
    FSE'16: PROCEEDINGS OF THE 2016 24TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2016, : 727 - 738
  • [4] Accelerating Search-Based Program Synthesis using Learned Probabilistic Models
    Lee, Woosuk
    Heo, Kihong
    Alur, Rajeev
    Naik, Mayur
    PROCEEDINGS OF THE 39TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, PLDI 2018, 2018, : 436 - 449
  • [5] Accelerating Search-Based Program Synthesis using Learned Probabilistic Models
    Lee, Woosuk
    Heo, Kihong
    Alur, Rajeev
    Naik, Mayur
    ACM SIGPLAN NOTICES, 2018, 53 (04) : 436 - 449
  • [6] Improving Search-Based Automatic Program Repair With Neural Machine Translation
    Li, Dongcheng
    Wong, W. Eric
    Jian, Mingyong
    Geng, Yi
    Chau, Matthew
    IEEE ACCESS, 2022, 10 : 51167 - 51175
  • [7] Search-based Program Synthesis
    Alur, Rajeev
    Singh, Rishabh
    Fisman, Dana
    Solar-Lezama, Armando
    COMMUNICATIONS OF THE ACM, 2018, 61 (12) : 84 - 93
  • [8] Search-Based Program Analysis
    Zeller, Andreas
    SEARCH BASED SOFTWARE ENGINEERING, 2011, 6956 : 1 - 4
  • [9] Code Naturalness to Assist Search Space Exploration in Search-Based Program Repair Methods
    Dantas, Altino
    de Souza, Eduardo F.
    Souza, Jerffeson
    Camilo-Junior, Celso G.
    SEARCH-BASED SOFTWARE ENGINEERING, SSBSE 2019, 2019, 11664 : 164 - 170
  • [10] Leveraging Program Invariants to Promote Population Diversity in Search-Based Automatic Program Repair
    Ding, Zhen Yu
    Lyu, Yiwei
    Timperley, Christopher
    Le Goues, Claire
    2019 IEEE/ACM 6TH INTERNATIONAL WORKSHOP ON GENETIC IMPROVEMENT (GI@ICSE 2019), 2019, : 2 - 9