2019 Fiscal Year Annual Research Report
開発者個人の活動に対する深層学習によるソフトウェア不具合検出技法
Project/Area Number |
19J23477
|
Research Institution | Kyoto Institute of Technology |
Principal Investigator |
近藤 将成 京都工芸繊維大学, 工芸科学研究科, 特別研究員(DC1)
|
Project Period (FY) |
2019-04-25 – 2022-03-31
|
Keywords | ソフトウェア工学 / 不具合予測 / ソフトウェア開発者 / クラスタリング |
Outline of Annual Research Achievements |
開発者個人に着目した細粒度でのソフトウェア不具合予測に深層学習を適用することは可能かを明らかにすること,及び,この成果より不具合予測モデルをツール化し,実際の開発現場に投入し,実運用可能なようにモデルを改善することが研究の目的である.初年度は,開発者個人に着目した不具合予測モデルについて詳しく研究した.具体的には,深層学習を適用する前段階として,似通った開発者毎にデータをまとめ(分類),学習データの量を増やすことが可能であるかを調査した.これは,開発者個人ごとに不具合予測モデルを構築しようとすると,データ数が不足してしまう問題が発生するためである.似通った開発者のデータをまとめることで,データ不足の問題の解決を目指した.
実験の結果,似通った開発者のデータをまとめることで,データ不足の問題を解決可能であることがわかった.具体的には,開発者ごとにどのような変更を加えたかを分析し,そのデータを数値データ化して,この数値データが似ている開発者をクラスタリング手法によりまとめ,開発者グループを作成することを行った.同じ開発者グループに属している開発者は同様の変更を行っている可能性が高く,不具合の特徴もまた似通っていると仮定できるため,このグループごとに不具合予測モデルを構築し,その予測精度を評価した.評価実験の結果,複数の分析対象のソフトウェアプロジェクトにおいて,この手法が有効であることを確認した.この実験結果より,開発者のデータをまとめることが可能であり,またこれにより,開発者ごとに予測モデルを構築する場合に問題であったデータ不足の問題の改善の糸口となることを確認した点で重要であり意義がある.ただし,深層学習を適用するには十分であるとは言い難いため,さらなる調査が必要な段階である.
|
Current Status of Research Progress |
Current Status of Research Progress
3: Progress in research has been slightly delayed.
Reason
初年度は,開発者個人に着目した不具合予測モデルについて詳しく研究した.具体的には,似通った開発者毎にデータをまとめ(分類),学習データの量を増やすことが可能であるかを調査した.当初の予定では,この初年度の研究で,深層学習が適用可能な程度のデータ量を確保する予定であった.しかし,実験の結果,軽量な予測モデルの適用が可能な程度はデータが集まったが,深層学習を学習可能なデータ量には達しなかった.これ以外の重要な点として,似通った開発者ごとにデータをまとめることが可能であるかという点があった.この点に関しては十分な進捗があった.そのため,当初予定より進捗がやや遅れているとした.
|
Strategy for Future Research Activity |
進捗状況でも述べたとおり,現在の研究成果では,データ数の不足の問題を完全には解決できておらず,深層学習モデルを適用することは難しい.そこで,より軽量なモデルで深層学習モデルに匹敵する予測を行うことができるモデルが存在しないかを調査した.事前実験の結果,Bag-of-Wordsモデルと呼ばれるモデルを用いてデータを特徴量化すると,軽量なモデルでも不具合予測においては深層学習に近い予測精度が出せることを確認した.そこで,今後は,よりデータ数を増やす方法を調査しつつ,深層学習以外のモデルにより,良い不具合予測を行うことができないかについて詳しく調査していく.深層学習を適用可能なほどデータが収集できなかった場合,それらのモデルを代替手法として用いて不具合予測を行う.
|
Research Products
(5 results)