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
关键词
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
相关论文
共 50 条
  • [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] 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
  • [4] Do Automated Program Repair Techniques Repair Hard and Important Bugs?
    Motwani, Manish
    Sankaranarayanan, Sandhya
    Just, Rene
    Brun, Yuriy
    PROCEEDINGS 2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2018, : 25 - 25
  • [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
    Science China(Information Sciences), 2019, 62 (10) : 47 - 49
  • [7] Automated program repair: a step towards software automation
    Roychoudhury, Abhik
    Xiong, Yingfei
    SCIENCE CHINA-INFORMATION SCIENCES, 2019, 62 (10)
  • [8] Automated program repair: a step towards software automation
    Abhik Roychoudhury
    Yingfei Xiong
    Science China Information Sciences, 2019, 62
  • [9] 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
  • [10] 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