2017 Fiscal Year Research-status Report
派生システム開発の品質変化を予測する複雑ネットワーク指標に基づくメトリクスの開発
Project/Area Number |
17KT0122
|
Research Institution | Yokohama National University |
Principal Investigator |
濱上 知樹 横浜国立大学, 大学院工学研究院, 教授 (30334204)
|
Project Period (FY) |
2017-07-18 – 2020-03-31
|
Keywords | ソフトウェアメトリクス / 複雑ネットワーク / 機械学習 |
Outline of Annual Research Achievements |
近年のシステム開発においては,すべてをスクラッチでつくる新規開発に比べ,現存し動いているソフトウェアを改変する派生開発の比重が増している。特にライフサイクルが長く,新たな機能追加が頻繁に行われるインフラシステムにおいては,構造や機能を部分的に改変・追加することで新たな要求に素早く対応させる派生開発が主流である。しかし,長期に渡る運用中の改変がその後どのような品質上の変化につながるのかの予測は,今後の人工システムのライフサイクルを管理する上で重要な技術である。しかし,これまで大規模システムの時間軸に沿った構造変化を測るメトリクスは明らかではなかった。 この問題に対し,本研究ではソフトウェアシステムを構成する論理要素の依存関係を複雑ネットワークとみなし,派生開発における改変をネットワークの成長現象として捉えることで,その予測を機械学習によって実現することを狙う。そして,改変後のシステムの安定性や将来のバグ予測が可能とする。これまで開発してきた複雑ネットワークメトリクス(MCN: Metrics with Complex Network model)を用いて派生開発システムソースの分析と予測を行った。その結果,派生開発後に品質に与える影響について以下のことが明らかとなった。 (1)ソフトウェアの規模と品質変化に直接的な影響は認められなかった (2)リンク密度,媒介中心度について明確な相関が認められた (3)複雑ネットワークメトリクスを用いた非線形回帰(SVR)により70.3%程度の精度で将来の品質を推定することができた 一方,特定モジュールが及ぼす過学習と派生開発時の手戻りが誤差に影響を与えることが明らかとなり,時系列の変化がバグ発生に影響を含めた,LSTM のような時系列予測の必要性が明らかとなった。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
本研究では,1. 人工システムの複雑ネットワーク一般表現法(GNSR: General Network Structure Representation) ,2. GNSRからの複雑ネットワーク指標(GNSR index)の分析法,3.将来の品質・システムの寿命を予見する機械学習技術 の3つの要素技術の確立を目標にしている。そのうち,現在まで,1について,これまでの複雑ネットワークメトリクスを直接用いる手法を提案し,実プロジェクトによる分析結果を明らかにした。2については,回帰モデル(SVR)によるGNSRを提案し,実プロジェクトの品質予測に関して有益なインデックスの分析結果を示している。また,3については,派生開発を含む実プロジェクトを対象とした予測精度を明らかにしている。さらに,プラント事業への応用については,当初計画にいれていたプラントのシステムのみならず,工場ラインや監視システムなど,多様なシステムにおける評価準備を進めた。以上のように限定的な分析対象ではあるが,当初構想の各ステップを一通り経過し,最初のトライアルを終えた状態にある。一方。当初計画の中で目指しているメトリクスを利用した近傍空間オンライン学習法による局所的構造の特徴と品質の関係分析は十分な進捗にいたっていない。これは,ここまで扱ってきたソースコードの分量では十分な特徴分析とならないためである。この検討は大規模なオープンソースコードに着手した段階からの進捗を予定している。以上の検討成果から,現段階の進捗は目的を概ね達成していると判断する。
|
Strategy for Future Research Activity |
本研究がめざすGNSRは特定の言語に依存しない一般的構造を対象にしているが,ここまでの検討から,多様な言語のパラダイムに沿った個別のメトリクスの必要性も明らかになってきた。この検証のため,すでにFPGAの実装言語であるHDLをもとに派生開発のコードをネットワーク構造として表現する手法の検討を始めている。ここまでの予備検討によって,汎用的な手段より個別の言語の特徴に基づくメトリクスの方が有益であるという仮定を立てている。これらの予備検討をもとに,今年度は大規模なオープンソースのコードを対象とした分析により,当初計画にあげた機械学習による品質予測の実験に着手する。その際,ここまで扱ってきたSVRのみならず,決定木をはじめ品質変化の説明が可能な分析方法を明らかにする。これらの中間的研究成果をもとに,と当初計画にあげたSysMLとSTAMPのグラフ構造の有益性について再評価を行う。
|
Research Products
(3 results)