2015 Fiscal Year Research-status Report
ソフトウェア信頼性評価のためのビッグデータアナリシス基盤整備
Project/Area Number |
15K01192
|
Research Institution | Hiroshima University |
Principal Investigator |
土肥 正 広島大学, 工学(系)研究科(研究院), 教授 (00243600)
|
Project Period (FY) |
2015-04-01 – 2018-03-31
|
Keywords | ソフトウェア開発 / 信頼性評価 / リポジトリデータ / データマイニング / 回帰モデル / 確率過程 / 実証分析 / ツール開発 |
Outline of Annual Research Achievements |
本研究では, ブースティングやランダムフォレスト等のデータマイニング技術を応用することでリポジトリに格納される情報をランダムに分割し, 分割されたデータを並列的に統計処理することで,複数のリポジトリに埋蔵されている情報を発掘し,それらを有効に活用したソフトウェア信頼性評価の体系を構築する.同時に,そのようなソフトウェア信頼性評価の体系を実現するためのアルゴリズム開発とそれを実装したツールの開発を行う.より具体的には,ランダムなデータ分割後に,それぞれのデータに対して NHPP (非定常ポアソン過程) を仮定した一般化線形回帰モデルを適用し,その結果を集約することで,信頼性評価モデルの同定を行う.また,個々の回帰係数を理論的に推定する方法としては,最尤推定法だけでなく, ベイズ推定法, ウェーブレット縮小推定法の適用を考え,各々の推定作業の計算コストを削減するために EM (Expectation-Maximization) アルゴリズム, 変分ベイズアルゴリズム, MCMC (Markov Chain Monte Carlo) 法の導入も行う.さらに,並列計算における各スロットからのアウトプットを平均化することで,未知変数の予測分布やその推定値を精度良く求めるための理論的な枠組みを新たに構築する. 最終的に, オープンソースプロジェクトのリポジトリを対象にして有効性を検証するための実証分析を行う. 特に, ソフトウェアの定量的信頼性評価を行うためのツール開発を行い, ユーザが難解な確率過程や推定・検定作業を意識することなく, 高精度の定量的信頼性評価を容易に実施することが可能になることを目指す.
|
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)データ整理・分析:TOMCAT 等の代表的なオープンソースソフトウェアのリポジトリを種別・開発規模の観点から整理・分類するためのMySQLを利用したデータベースを開発した. これにより実証分析を行う際のデータ整理に関する効率性が大幅に向上した. また, 設計・コーディング・テスト段階で計測可能な各種メトリクス情報を測定するためのツールを組込むことで, データベースと連動した分析基盤を開発した. また,テストケース間の入力と実行パスから計算される各種「距離」を計算しソースコード情報を利用する場合に,ソースコードから PDG (Program Dependence Graph) を生成するために,大阪大学で開発されたコードクローン検出ツール CCFinder を部分的に利用し,解析されたトークン列と文字列を情報として抽出する枠組みを開発した. (2) 一般化線形モデルの改良:これまでに行ってきた研究成果を活用し, ポアソン回帰とロジット回帰, カーネル回帰を同一モデル内に含む「一般化線形モデル」に着目し, その統計パラメータを効率的に推定するための近似推定アルゴリズムを開発した. (3) ランダムサンプリングによる並列計算スキームの開発:長期間の開発データや数百から数千オーダーのモジュールを有する大規模ソフトウェアの分析を行うために, 最も単純かつ効果的なランダム分割の方法を改良し, ブースティングやランダムフォレストを用いた計算量削減の方法を提案した. 最終的に複数スロットにおいて算出される推定結果をランダム分割の統計的性質に応じて平均化し, 大規模ソフトウェアに対する定量的信頼性評価の基本統計量である各種パラメータの推定値を求める方法論について検討した.
|
Strategy for Future Research Activity |
今後は以下のような作業を予定している. (1) 信頼性評価尺度の算出とアラーム・判定機能の設計: 大規模ソフトウェアのリポジトリ活用では多くの回帰パラメータの推定値が求まるので, 各々のパラメータと工程の評価項目(開発労力, テストケース数, プログラム複雑性などに関する複数項目)を合致させる必要がある. これを分析結果に応じて逐次検討することは大変コストがかかるため, 予め選択されたメトリクス情報の集合と評価項目のマッチングを自動的に行い, 前工程のフィードバック評価を実現するツールの開発を行う. (2) 未踏プロジェクトへの対応: 類似開発プロジェクトや同質的な種別や規模のシステムに対しては, 過去の開発情報を利用したプラグイン推定を行うことが可能であるが, これまでに開発経験のない未踏プロジェクトにおける定量的信頼性評価を行うためには, 過去の開発情報から推定された回帰パラメータをそのまま利用することは出来ない. このような統計的予測推論では統計量の予測分布を導出しなければならないが, 一般的には技術的に困難な問題が数多く存在する. 本研究で提案するランダム分割の手法を用いることで, 各並列計算タスクから出力された推定量を独立で同一な確率変数として見なせるため, 統計的ブートストラップの方法を適用することが可能であるため, これを各種信頼性評価尺度やパラメータの予測分布の算出に利用できるかどうか検討する. (3) 実証分析: 本研究で提案する大規模ソフトウェアリポジトリに対する定量的信頼性評価の方法を, いくつかの実在するオープンソースプロジェクトに適用し, その有効性を検証する.
|
Causes of Carryover |
2015年度は独立行政法人情報処理推進機構からの受託研究を行い, ソフトウェア信頼性理論に関する研究動向調査を行うためにいくつかの国際会議に出席した. このため, 当初, 科学研究費で参加する予定であった会議に他経費を使って参加したため, 当初予定していた海外出張旅費および国際会議参加費を支払うことがなかった.
|
Expenditure Plan for Carryover Budget |
前年度からの繰り越し金 570,233円 を次年度に開催される国際会議への旅費や参加費に振り替えることで, 研究成果の発表および研究動向調査を実施する予定である.
|
Research Products
(15 results)