Applying deep learning algorithm to automatic bug localization and repair

Geunseok Yang, Kyeongsic Min, Byungjeong Lee

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

15 Scopus citations

Abstract

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.

Original languageEnglish
Title of host publication35th Annual ACM Symposium on Applied Computing, SAC 2020
PublisherAssociation for Computing Machinery
Pages1634-1641
Number of pages8
ISBN (Electronic)9781450368667
DOIs
StatePublished - 30 Mar 2020
Event35th Annual ACM Symposium on Applied Computing, SAC 2020 - Brno, Czech Republic
Duration: 30 Mar 20203 Apr 2020

Publication series

NameProceedings of the ACM Symposium on Applied Computing

Conference

Conference35th Annual ACM Symposium on Applied Computing, SAC 2020
Country/TerritoryCzech Republic
CityBrno
Period30/03/203/04/20

Keywords

  • Bug localization
  • Bug repair
  • Bug report
  • Deep learning

Fingerprint

Dive into the research topics of 'Applying deep learning algorithm to automatic bug localization and repair'. Together they form a unique fingerprint.

Cite this