TY - GEN
T1 - Applying deep learning algorithm to automatic bug localization and repair
AU - Yang, Geunseok
AU - Min, Kyeongsic
AU - Lee, Byungjeong
N1 - Publisher Copyright:
© 2020 ACM.
PY - 2020/3/30
Y1 - 2020/3/30
N2 - Owing to the increasing size and complexity of software, large/small bugs have become inevitable. To fix software bugs in some cases, developers may need to spend a considerable amount of time debugging. Some studies have reported that typographical errors in natural and programming languages are nearly identical. We herein propose a method to solve these mistakes automatically. We perform bug localization using an autoencoder and CNN to compute a rank score. In details, we extract features from bug reports and program source code. Then, we input these features into the autoencoder. Next, the output of autoencoder applies to the CNN. Finally, we compute a rank score between the bug report and program source code. Regarding bug repair, we utilize Seq-GAN algorithm. In details, first, we convert program source code into multiple lines with tokens. Then, we apply the Seq-GAN algorithm to generate the candidate buggy patches. To evaluate the effectiveness of the proposed method, performance comparisons with similar related studies were conducted. The comparison shows that our approach produces better results compared to other studies.
AB - Owing to the increasing size and complexity of software, large/small bugs have become inevitable. To fix software bugs in some cases, developers may need to spend a considerable amount of time debugging. Some studies have reported that typographical errors in natural and programming languages are nearly identical. We herein propose a method to solve these mistakes automatically. We perform bug localization using an autoencoder and CNN to compute a rank score. In details, we extract features from bug reports and program source code. Then, we input these features into the autoencoder. Next, the output of autoencoder applies to the CNN. Finally, we compute a rank score between the bug report and program source code. Regarding bug repair, we utilize Seq-GAN algorithm. In details, first, we convert program source code into multiple lines with tokens. Then, we apply the Seq-GAN algorithm to generate the candidate buggy patches. To evaluate the effectiveness of the proposed method, performance comparisons with similar related studies were conducted. The comparison shows that our approach produces better results compared to other studies.
KW - Bug localization
KW - Bug repair
KW - Bug report
KW - Deep learning
UR - http://www.scopus.com/inward/record.url?scp=85083039694&partnerID=8YFLogxK
U2 - 10.1145/3341105.3374005
DO - 10.1145/3341105.3374005
M3 - Conference contribution
AN - SCOPUS:85083039694
T3 - Proceedings of the ACM Symposium on Applied Computing
SP - 1634
EP - 1641
BT - 35th Annual ACM Symposium on Applied Computing, SAC 2020
PB - Association for Computing Machinery
T2 - 35th Annual ACM Symposium on Applied Computing, SAC 2020
Y2 - 30 March 2020 through 3 April 2020
ER -