講演名 2021-03-03
修正履歴を用いた機械翻訳技術による自動バグ修正の性能評価
秋山 楽登(九大), 中村 司(九大), 亀井 靖高(九大), 鵜林 尚靖(九大),
PDFダウンロードページ PDFダウンロードページへ
抄録(和) 自動バグ修正手法の一つであるDeepFixは文法エラーを対象としている.エラーのないプログラムにエラーを埋め込み,エラーを埋め込んだプログラムから埋め込む前のプログラムが生成できるように機械翻訳技術を応用し学習させることで,プログラムの修正を行う手法である.しかし,埋め込んだエラー以外の修正は難しく,適用対象データのエラーと埋め込むエラーに差があると修正率が低下したことが先行研究で示されている.そこで,実際に開発者が作成したバグ修正前後のプログラムから修正内容を機械翻訳技術の応用により学習し,自動バグ修正を行うLearning-Fixesという手法に着目した.Learning-Fixesの先行研究では論理エラーを対象としていたが,シーケンス変換による学習を行うため文法エラーに対しても適用可能であると考えた.本研究では,修正率が低下したとされるDeepFixの性能評価に用いられたデータに対してLearning-Fixesを適用することで,文法エラーに対するLearning-Fixesの性能評価を行った.その結果,20〜54%の修正率で文法エラーの代表的な修正が行われており,Learning-Fixesは文法エラーに対して十分な修正性能を持つことが示せた.さらに,DeepFixと異なりLearning-Fixesでは誤字や脱字を修正することができた.
抄録(英) DeepFix is one of the automatic bug fixing tools. It repairs syntax errors by embedding errors into error-free programs and applying machine translation technology to learn how to generate the programs before embedding errors from the programs with the embedded errors. However, it is difficult to repair errors other than the embedded errors, and the previous studies have shown that the fixed-rate decreases when there is a difference between the errors in the target data and the embedded errors. Therefore, we focused on Learning-Fixes. It learns the repairs using machine translation from buggy programs and fixed programs produced by the developers and automatically repairs bugs. Although the previous studies of Learning-Fixes have focused on semantic errors, we considered that Learning-Fixes could be applied to syntax errors as well because it learns the repairs with sequence-to-sequence. In this study, we evaluated the performance of Learning-Fixes on syntax errors by applying Learning-Fixes to the data used in the performance evaluation of DeepFix, which was said to have a lower fixed-rate. As a result, typical syntax errors were repaired with a fixed-rate of 20-54 %, and the result showed that Learning-Fixes has sufficient performance for syntax errors. Furthermore, we showed that Learning-Fixes was able to repair typographical errors, unlike DeepFix.
キーワード(和) 自動バグ修正 / 機械翻訳
キーワード(英) Automatic bug repair / Machine Translation
資料番号 SS2020-34
発行日 2021-02-24 (SS)

研究会情報
研究会 SS
開催期間 2021/3/3(から2日開催)
開催地(和) オンライン開催
開催地(英) Online
テーマ(和) 一般
テーマ(英)
委員長氏名(和) 小林 隆志(東工大)
委員長氏名(英) Takashi Kobayashi(Tokyo Inst. of Tech.)
副委員長氏名(和) 岡野 浩三(信州大)
副委員長氏名(英) Kozo Okano(Shinshu Univ.)
幹事氏名(和) 島 和之(広島市大) / 林 晋平(東工大)
幹事氏名(英) Kazuyuki Shima(Hiroshima City Univ.) / Shinpei Hayashi(Tokyo Inst. of Tech.)
幹事補佐氏名(和) 小形 真平(信州大)
幹事補佐氏名(英) Shinpei Ogata(Shinshu Univ.)

講演論文情報詳細
申込み研究会 Technical Committee on Software Science
本文の言語 JPN
タイトル(和) 修正履歴を用いた機械翻訳技術による自動バグ修正の性能評価
サブタイトル(和)
タイトル(英) Performance Evaluation of Automatic Bug Repair using Neural Machine Translation with Bug Fix Histories
サブタイトル(和)
キーワード(1)(和/英) 自動バグ修正 / Automatic bug repair
キーワード(2)(和/英) 機械翻訳 / Machine Translation
第 1 著者 氏名(和/英) 秋山 楽登 / Gakuto Akiyama
第 1 著者 所属(和/英) 九州大学(略称:九大)
Kyushu University(略称:Kyushu Univ.)
第 2 著者 氏名(和/英) 中村 司 / Tsukasa Nakamura
第 2 著者 所属(和/英) 九州大学(略称:九大)
Kyushu University(略称:Kyushu Univ.)
第 3 著者 氏名(和/英) 亀井 靖高 / Yasutaka Kamei
第 3 著者 所属(和/英) 九州大学(略称:九大)
Kyushu University(略称:Kyushu Univ.)
第 4 著者 氏名(和/英) 鵜林 尚靖 / Naoyasu Ubayashi
第 4 著者 所属(和/英) 九州大学(略称:九大)
Kyushu University(略称:Kyushu Univ.)
発表年月日 2021-03-03
資料番号 SS2020-34
巻番号(vol) vol.120
号番号(no) SS-407
ページ範囲 pp.37-42(SS),
ページ数 6
発行日 2021-02-24 (SS)