A Survey of Learning-based Automated Program Repair

被引:4
|
作者
Zhang, Quanjun [1 ]
Fang, Chunrong [1 ]
Ma, Yuxiang [1 ]
Sun, Weisong [1 ]
Chen, Zhenyu [1 ]
机构
[1] Nanjing Univ, State Key Lab Novel Software Technol, Nanjing 210093, Jiangsu, Peoples R China
基金
中国国家自然科学基金;
关键词
Automatic program repair; deep learning; neural machine translation; AI and software engineering; GENERATION; SEARCH;
D O I
10.1145/3631974
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Automated program repair (APR) aims to fix software bugs automatically and plays a crucial role in software development and maintenance. With the recent advances in deep learning (DL), an increasing number of APR techniques have been proposed to leverage neural networks to learn bug-fixing patterns from massive open-source code repositories. Such learning-based techniques usually treat APR as a neural machine translation (NMT) task, where buggy code snippets (i.e., source language) are translated into fixed code snippets (i.e., target language) automatically. Benefiting from the powerful capability of DL to learn hidden relationships from previous bug-fixing datasets, learning-based APR techniques have achieved remarkable performance. In this article, we provide a systematic survey to summarize the current state-of-the-art research in the learning-based APR community. We illustrate the general workflow of learning-based APR techniques and detail the crucial components, including fault localization, patch generation, patch ranking, patch validation, and patch correctness phases. We then discuss the widely adopted datasets and evaluation metrics and outline existing empirical studies. We discuss several critical aspects of learning-based APR techniques, such as repair domains, industrial deployment, and the open science issue. We highlight several practical guidelines on applying DL techniques for future APR studies, such as exploring explainable patch generation and utilizing code features. Overall, our article can help researchers gain a comprehensive understanding about the achievements of the existing learning-based APR techniques and promote the practical application of these techniques. Our artifacts are publicly available at the repository: https://github.com/iSEngLab/AwesomeLearningAPR.
引用
收藏
页数:69
相关论文
共 50 条
  • [1] DEAR: A Novel Deep Learning-based Approach for Automated Program Repair
    Li, Yi
    Wang, Shaohua
    Nguyen, Tien N.
    [J]. 2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2022), 2022, : 511 - 523
  • [2] An Extensive Study on Model Architecture and Program Representation in the Domain of Learning-based Automated Program Repair
    Horvath, Daniel
    Csuvik, Viktor
    Gyimothy, Tibor
    Vidacs, Laszlo
    [J]. 2023 IEEE/ACM INTERNATIONAL WORKSHOP ON AUTOMATED PROGRAM REPAIR, APR, 2023, : 31 - 38
  • [3] Deep Learning-Based Automated Lip-Reading: A Survey
    Fenghour, Souheil
    Chen, Daqing
    Guo, Kun
    Li, Bo
    Xiao, Perry
    [J]. IEEE ACCESS, 2021, 9 : 121184 - 121205
  • [4] A controlled experiment of different code representations for learning-based program repair
    Marjane Namavar
    Noor Nashid
    Ali Mesbah
    [J]. Empirical Software Engineering, 2022, 27
  • [5] A controlled experiment of different code representations for learning-based program repair
    Namavar, Marjane
    Nashid, Noor
    Mesbah, Ali
    [J]. EMPIRICAL SOFTWARE ENGINEERING, 2022, 27 (07)
  • [6] A survey on reinforcement learning-based control for signalized intersections with connected automated vehicles
    Zhang, Kaiwen
    Cui, Zhiyong
    Ma, Wanjing
    [J]. TRANSPORT REVIEWS, 2024,
  • [7] An Empirical Study of Deep Transfer Learning-Based Program Repair for Kotlin Projects
    Kim, Misoo
    Kim, Youngkyoung
    Jeong, Hohyeon
    Heo, Jinseok
    Kim, Sungoh
    Chung, Hyunhee
    Lee, Eunseok
    [J]. PROCEEDINGS OF THE 30TH ACM JOINT MEETING EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, ESEC/FSE 2022, 2022, : 1441 - 1452
  • [8] Impact of Defect Instances for Successful Deep Learning-based Automatic Program Repair
    Kim, Misoo
    Kim, Youngkyoung
    Heo, Jinseok
    Jeong, Hohyeon
    Kim, Sungoh
    Lee, Eunseok
    [J]. 2022 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2022), 2022, : 419 - 423
  • [9] A survey of automated data augmentation algorithms for deep learning-based image classification tasks
    Zihan Yang
    Richard O. Sinnott
    James Bailey
    Qiuhong Ke
    [J]. Knowledge and Information Systems, 2023, 65 : 2805 - 2861
  • [10] A survey of automated data augmentation algorithms for deep learning-based image classification tasks
    Yang, Zihan
    Sinnott, Richard O.
    Bailey, James
    Ke, Qiuhong
    [J]. KNOWLEDGE AND INFORMATION SYSTEMS, 2023, 65 (07) : 2805 - 2861