講演名 2021-03-06
CNN-BIシステムによる物体検出アルゴリズムを用いたプログラムの不具合発見のための研究
小川 一彦(放送大), 中谷 多哉子(放送大),
PDFダウンロードページ PDFダウンロードページへ
抄録(和) 我々は,プログラムの不具合の箇所を予測するため,不具合を起こしたプログラムのソースコードを画像化し,物体検出に適用される深層学習のアルゴリズムによる学習を行い,プログラムの不具合の箇所を予測できるか検証した.不具合を起こすプログラムの記述は,ソースコードの見た目に共通点があり,深層学習のひとつであるCNN(Convolutional Neural Network)を適用することで,不具合を発見できると考えたのである.物体検出のアルゴリズムは,CNNによるリアルタイムオブジェクトの検出アルゴリズムであるYOLO(You Look Only Onse)を使用した.本稿では,不具合の推論を行う上で課題であった推論の精度の向上と,不具合の箇所の特定を試みた.我々が,これまで行なってきた画像認識による分類ではなく,物体検出アルゴリズムを用いて不具合の箇所を推論させることで精度の向上を目指す.プログラムの不具合を推論させるため,実際に不具合対応した箇所をソースコード片として学習させる.学習後,学習結果のモデルを用いて,被験者の5本のプログラムを推論させる.推論では,物体検出アルゴリズムが,動物や人工物を検出するように,被験者のプログラムを画像化したソースコードに,バウンディングボックスで不具合の箇所を囲む.実験の結果,画像認識を用いた推論と比較して,プログラムの不具合を推論する精度が向上すること,および不具合の箇所を指摘することを検証する.
抄録(英) In order to predict the location of program faults, we generated images the source code of a faulty program and trained it with a deep learning algorithm applied to object detection to see if We found program fragments where faults may exist. We found that the program statements that cause of faults have something in common in the appearance of the source code, and that we could find the faults by applying CNN (Convolutional Neural Network), a type of deep learning. For the object detection algorithm, we used YOLO (You Look Only Ones), a CNN-based real-time object detection algorithm. In this paper, we attempted to improve the accuracy of inference and to identify the location of faults, which has been a problem in inferring faults. Our goal is to improve the accuracy by using an object detection algorithm to infer the location of faults, instead of the image recognition method we have used so far. In order for the learning models to infer the faults in the program, they learn the actual faults as source code fragments. After training, we use the learning model to reason about the subject's five programs. In the inference, we used bounding boxes to enclose faults in the source code of the subject's programs, just as an object detection algorithm would detect animals or artifacts. In our experiments, we verify that our method improves the accuracy of inferring faults in programs and points out the fault compared to previous inference methods using image recognition.
キーワード(和) プログラムの不具合推論 / 畳み込みニューラルネットワーク / ソースコードの画像化 / 深層学習 / 物体検出
キーワード(英) bug inference / convolutional nural network / image of source code / deep learning / object detection
資料番号 KBSE2020-45
発行日 2021-02-26 (KBSE)

研究会情報
研究会 KBSE
開催期間 2021/3/5(から2日開催)
開催地(和) オンライン開催
開催地(英) Online
テーマ(和) 一般,学生
テーマ(英)
委員長氏名(和) 中川 博之(阪大)
委員長氏名(英) Hiroyuki Nakagawa(Osaka Univ.)
副委員長氏名(和) 猿渡 卓也(NTTデータ)
副委員長氏名(英) Takuya Saruwatari(NTT Data)
幹事氏名(和) 菊地 奈穂美(OKI) / 金子 朋子(NII)
幹事氏名(英) Nahomi Kikuchi(OKI) / Tomoko Kaneko(NII)
幹事補佐氏名(和) 小形 真平(信州大) / 槇原 絵里奈(同志社大)
幹事補佐氏名(英) Shinpei Ogata(Shinshu Univ.) / Erina Nakihara(Doshisha Univ,)

講演論文情報詳細
申込み研究会 Technical Committee on Knowledge-Based Software Engineering
本文の言語 JPN
タイトル(和) CNN-BIシステムによる物体検出アルゴリズムを用いたプログラムの不具合発見のための研究
サブタイトル(和)
タイトル(英) Research for finding faults in Programs using object detection algorithm by CNN-BI system
サブタイトル(和)
キーワード(1)(和/英) プログラムの不具合推論 / bug inference
キーワード(2)(和/英) 畳み込みニューラルネットワーク / convolutional nural network
キーワード(3)(和/英) ソースコードの画像化 / image of source code
キーワード(4)(和/英) 深層学習 / deep learning
キーワード(5)(和/英) 物体検出 / object detection
第 1 著者 氏名(和/英) 小川 一彦 / Kazuhiko Ogawa
第 1 著者 所属(和/英) 放送大学(略称:放送大)
The Open University of Japan(略称:OUJ)
第 2 著者 氏名(和/英) 中谷 多哉子 / Takako Nakatani
第 2 著者 所属(和/英) 放送大学(略称:放送大)
The Open University of Japan(略称:OUJ)
発表年月日 2021-03-06
資料番号 KBSE2020-45
巻番号(vol) vol.120
号番号(no) KBSE-423
ページ範囲 pp.65-70(KBSE),
ページ数 6
発行日 2021-02-26 (KBSE)