Towards More Reliable Automated Program Repair by Integrating Static Analysis Techniques

被引:3
|
作者
Al-Bataineh, Omar, I [1 ]
Grishina, Anastasiia [1 ]
Moonen, Leon [1 ]
机构
[1] Simula Res Lab, Oslo, Norway
来源
2021 IEEE 21ST INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY (QRS 2021) | 2021年
关键词
automated program repair; bug detection; static analysis; integer overflow; non-termination; conditional mutation; TERMINATION;
D O I
10.1109/QRS54544.2021.00075
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A long-standing open challenge for automated program repair is the overfitting problem, which is caused by having insufficient or incomplete specifications to validate whether a generated patch is correct or not. Most available repair systems rely on weak specifications (i.e., specifications that are synthesized from test cases) which limits the quality of generated repairs. To strengthen specifications and improve the quality of repairs, we propose to closer integrate static bug detection techniques with automated program repair. The integration combines automated program repair with static analysis techniques in such a way that bug detection patterns can be synthesized into specifications that the repair system can use. We explore the feasibility of such integration using two types of bugs: arithmetic bugs, such as integer overflow, and logical bugs, such as termination bugs. As part of our analysis, we make several observations that help to improve patch generation for these classes of bugs. Moreover, these observations assist with narrowing down the candidate patch search space, and inferring an effective search order.
引用
收藏
页码:654 / 663
页数:10
相关论文
共 22 条
  • [1] Reliable Fix Patterns Inferred from Static Checkers for Automated Program Repair
    Liu, Kui
    Zhang, Jingtang
    Li, Li
    Koyuncu, Anil
    Kim, Dongsun
    Ge, Chunpeng
    Liu, Zhe
    Klein, Jacques
    Bissyande, Tegawende F.
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2023, 32 (04)
  • [2] Static Automated Program Repair for Heap Properties
    van Tonder, Rijnard
    Le Goues, Claire
    PROCEEDINGS 2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2018, : 151 - 162
  • [3] Towards Extending the Range of Bugs That Automated Program Repair Can Handle
    Al-Bataineh, Omar I.
    Moonen, Leon
    2022 IEEE 22ND INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY, QRS, 2022, : 209 - 220
  • [4] Do automated program repair techniques repair hard and important bugs?
    Manish Motwani
    Sandhya Sankaranarayanan
    René Just
    Yuriy Brun
    Empirical Software Engineering, 2018, 23 : 2901 - 2947
  • [5] Do automated program repair techniques repair hard and important bugs?
    Motwani, Manish
    Sankaranarayanan, Sandhya
    Just, Rene
    Brun, Yuriy
    EMPIRICAL SOFTWARE ENGINEERING, 2018, 23 (05) : 2901 - 2947
  • [6] Automated program repair: a step towards software automation
    Abhik ROYCHOUDHURY
    Yingfei XIONG
    ScienceChina(InformationSciences), 2019, 62 (10) : 47 - 49
  • [7] Towards Minimal Edits in Automated Program Repair: A Hybrid Framework Integrating Graph Neural Networks and Large Language Models
    Xu, Zhenyu
    Sheng, Victor S.
    ARTIFICIAL NEURAL NETWORKS AND MACHINE LEARNING-ICANN 2024, PT V, 2024, 15020 : 402 - 416
  • [8] Please hold on: more time = more patches? Automated program repair as anytime algorithms
    Vu, Duc-Ly
    Pashchenko, Ivan
    Massacci, Fabio
    2021 IEEE/ACM INTERNATIONAL WORKSHOP ON AUTOMATED PROGRAM REPAIR (APR 2021), 2021, : 9 - 10
  • [9] The impacts of techniques, programs and tests on automated program repair: An empirical study
    Kong, Xianglong
    Zhang, Lingming
    Wong, W. Eric
    Li, Bixin
    JOURNAL OF SYSTEMS AND SOFTWARE, 2018, 137 : 480 - 496
  • [10] Toward Introducing Automated Program Repair Techniques to Industrial Software Development
    Naitou, Keigo
    Tanikado, Akito
    Matsumoto, Shinsuke
    Higo, Yoshiki
    Kusumoto, Shinji
    Kirinuki, Hiroyuki
    Kurabayashi, Toshiyuki
    Tanno, Haruto
    2018 IEEE/ACM 26TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2018), 2018, : 332 - 335