Applying deep learning algorithm to automatic bug localization and repair

Geunseok Yang, Kyeongsic Min, Byungjeong Lee · 2020

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.

Read the paper · More papers on PaperTik