Automatic software code repair using deep learning techniques

被引:0
|
作者
Abdollahpour, Mohammad Mahdi [1 ]
Ashtiani, Mehrdad [1 ]
Bakhshi, Fatemeh [1 ]
机构
[1] Iran Univ Sci & Technol, Sch Comp Engn, Tehran, Iran
关键词
Code repair; Deep learning; Bug; Software defect; Bert; Transfer learning;
D O I
10.1007/s11219-023-09653-1
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In the multi-hundred-billion-dollar industry of software development, the debugging process is an expensive task for developers. So, much effort has been put into debugging automation. In the last decade, researchers have repaired codes according to predefined rules which are only effective in limited types of bugs. Through a lot of experiments, researchers have found that deep learning models are useful in code repair automation similar to the revolutionary results these approaches have produced in various other fields. To solve such a difficult problem, recent works focus on debugging bugs that appear on one line of code. It has been reported that this type of bug occurs at an average rate of 1 out of every 1600 lines of code in a software project, which is significant. The current research follows these approaches and introduces a novel automatic code-repair system. We have employed the transfer learning technique to reuse a pre-trained model on the problem. The proposed system is designed based on the encoder-decoder architecture. In the encoder, a new pre-trained Bert model named JavaBert is used. Then, the model was fine tuned. The decoder is a transformer with an autoregressive structure. ManySStuBs4J [1] dataset is used for evaluation purposes. The results of the evaluations show that the proposed system has higher accuracy and BLEU criteria than CodeBert and the baseline model. Baseline is a simple model that acts as a reference in machine learning studies and CodeBert is one of the most similar models to the proposed model. The bilingual evaluation understudy score (BLEU) improvement is between 0.04 and 0.16%, the accuracy improvement is between 0.64 and 5.81%, the recall improvement is between 1.08 and 9.2%, and the F-score improvement is between 3.27 and 6.18%.
引用
收藏
页码:361 / 390
页数:30
相关论文
共 50 条
  • [1] Automatic Software Code Repair Using Deep Learning Techniques
    Abdollahpour, Mohammad Mahdi
    Ashtiani, Mehrdad
    Bakhshi, Fatemeh
    [J]. SSRN, 2022,
  • [2] Research on Repair Preference of Software Automatic Repair Method Based on Deep Learning
    Jiang, Yuanpeng
    Huang, Ying
    Jiang, Shujuan
    [J]. Computer Engineering and Applications, 2023, 59 (19) : 266 - 273
  • [3] Software Code Analysis using Ensemble Learning Techniques
    Aggarwal, Simran
    [J]. PROCEEDINGS OF THE 1ST INTERNATIONAL CONFERENCE ON ADVANCED INFORMATION SCIENCE AND SYSTEM, AISS 2019, 2019,
  • [4] Software fault prediction using deep learning techniques
    Batool, Iqra
    Khan, Tamim Ahmed
    [J]. SOFTWARE QUALITY JOURNAL, 2023, 31 (04) : 1241 - 1280
  • [5] Software fault prediction using deep learning techniques
    Iqra Batool
    Tamim Ahmed Khan
    [J]. Software Quality Journal, 2023, 31 : 1241 - 1280
  • [6] Deep Learning for Software Vulnerabilities Detection Using Code Metrics
    Zagane, Mohammed
    Abdi, Mustapha Kamel
    Alenezi, Mamdouh
    [J]. IEEE ACCESS, 2020, 8 : 74562 - 74570
  • [7] An Automatic Semantic Code Repair Service Based on Deep Learning for Programs with Single Error
    Sun, Zhiyu
    Xin, Chao
    Sun, Yanchun
    [J]. 2019 IEEE WORLD CONGRESS ON SERVICES (IEEE SERVICES 2019), 2019, : 360 - 361
  • [8] Code Review Analysis of Software System using Machine Learning Techniques
    Lal, Harsh
    Pahwa, Gaurav
    [J]. PROCEEDINGS OF 2017 11TH INTERNATIONAL CONFERENCE ON INTELLIGENT SYSTEMS AND CONTROL (ISCO 2017), 2017, : 8 - 13
  • [9] Measuring the Fault Predictability of Software using Deep Learning Techniques with Software Metrics
    Bhandari, Guru Prasad
    Gupta, Ratneshwer
    [J]. 2018 5TH IEEE UTTAR PRADESH SECTION INTERNATIONAL CONFERENCE ON ELECTRICAL, ELECTRONICS AND COMPUTER ENGINEERING (UPCON), 2018, : 249 - 254
  • [10] Semantically Enhanced Software Traceability Using Deep Learning Techniques
    Guo, Jin
    Cheng, Jinghui
    Cleland-Huang, Jane
    [J]. 2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2017, : 3 - 14