深層学習によるソースコードコミットからの不具合混入予測

Bibliographic Information

Other Title
  • Just-in-Time Defect Prediction Applying Deep Learning to Source Code Changes

Search this article

Abstract

ソフトウェアの不具合予測は,ソフトウェアに潜む不具合を予測することで効率的なレビューやテストを可能にしようとするソフトウェア品質保証活動の1つである.従来の多くのソフトウェアの不具合予測では,ソースコード分析による不具合予測を行っているが,粒度が粗くまた不具合予測の結果のフィードバックが遅い.この問題を解決するために,ソフトウェアの変更がコミットされたときに,その変更によって不具合が起きるかどうかを予測する手法が提案され,近年注目を集めている.ソフトウェアの変更コミットの不具合予測に関する既存研究では,その変更に対するメトリクス(たとえば,修正されたファイル数,追加されたコード行数など)を計算した後に機械学習や深層学習を適用している.それに対して,本研究では,変更のソースコード片のみに対して深層学習を適用することで不具合を予測する手法,Word-Convolutional Neural Network(W-CNN)を提案する.我々は,評価実験によって,変更ソースコード片に対する深層学習を用いた不具合予測が可能であること,さらに,提案手法W-CNNは先行研究に比べて,学習の時間はかかるものの,不具合予測の精度が優れており,予測時間が短いことを示す.

Defect prediction is an important task for preserving software quality. A lot of previous research has analyzed source code to predict defects; however, it contains a problem that is its prediction grain is too coarse and its feedback is too late for software developers. To achieve a more fine-grained prediction and an earlier feedback, several approaches that analyzes source code changes has been reported. Those approaches have applied various machine learning techniques and deep learning techniques to change metrics, such as the number of lines added, modified files, and modified directories. In this paper, we propose a novel approach for defect prediction called Word-Convolutional Neural Network (W-CNN), which applies CNN to the modified source code itself. Our evaluation results show that the proposed approach can improve the effectiveness of defect prediction with a small overhead on the prediction time.

Journal

Related Projects

See more

Details 詳細情報について

Report a problem

Back to top