本研究では,「JITソフトウェア品質モデル」の実現を目指し,6つのサブタスクを実施する.各サブタスクは,互いにその成果を利用し合うので,サイクリックに開発を行う予定である.本年度は,特に次のサブタスクに注力した. (1) 他プロジェクトの利活用方法:開発履歴が少ないプロジェクトにおけるJITソフトウェア品質モデルの実現のために,他プロジェクトの利活用を試みた.他プロジェクトを用いても性能の良いモデル構築に寄与するであろう3つの仮説(例えば,開発のコンテキストが類似するプロジェクトを用いると,性能のよいモデルを構築することができる)を立て,それらの仮説を実データを用いて実験的に検証した.実験の結果,蓄積された全プロジェクトの過去データを一つのデータとしてみなして結合することで,うまくモデルを構築できることがわかった. (2) 昨年度行ったサブタスクの改良:JIT品質モデル構築の際,品質(欠陥)の重みを均一に扱うのではなく,重み付けするための方法の開発を行った.修正にかかる労力(同時修正ファイル数,同時修正ディレクトリ数,変更行数)が大きい欠陥は,重みの大きい欠陥と定め,労力の大きさに基づき欠陥の重み付けを行った.この方法は労力の重み付けを自動的に行うことが可能であり,大規模データにも適用できる点がメリットである.この方法を用いてJITソフトウェア品質モデルの評価実験を行った結果の一部は,Journal of Empirical Software Engineeringに採録された. (3) システム化:リポジトリから変更の特徴量,及び,欠陥の有無を自動収集するツールをプログラミング言語rubyによって実装し,計測したデータからモデルを構築するツールを統計言語Rによって実装し,研究会等で発表を行った.
|