研究概要 |
本年は,コードリポジトリに基づくオープンソースソフトウェア向き開発情報提供システムに関するさまざまな課題に対して取り組み,以下のような成果を得た. ソフトウェア開発を行う際には,開発状況やプロダクトを閲覧するためのシステムが広く使われている.こういったシステムではユーザーインターフェースとしてWebブラウザが用いられていることが多いが,それぞれのシステムは独立しており,複数のシステムにまたがる情報を閲覧する場合,情報間の繋がりは閲覧者自らが管理しなければならない.そこで本研究では,閲覧した内容を逐次閲覧履歴として保存することにより,ある過去の時点における閲覧状態を復元する機能をもつWebブラウザの試作を行った.さらに,他の利用者の閲覧した内容に基づいた情報推薦機能を実装した.試作したWebブラウザを使用して,あるソフトウェアシステムの調査を行った結果,効率的に閲覧でき,その有用性を確認した. オープンソースソフトウェアの保守作業にかかるコストの増大に伴い,保守対象となるソフトウェアの機能やその構造を理解するための支援に関する研究が広く行われている.このうち,機能特定手法と呼ばれる手法では,ソフトウェアの持つ特定の機能がソースコード中でどの箇所に実装されているかを特定することが可能であったが,既存の手法はオブジェクト指向ソフトウェアを対象とした場合,正確な結果が得られず,また解析に時間がかかるためあまり利用されていなかった.そこで本研究では,オブジェクト指向ソフトウェアを対象として,機能と実装箇所の対応を特定することを目指し,同じ機能を実装している箇所は更新が同時に行われる傾向が強いという仮定に基づいて,ソフトウェアの更新履歴を用いてクラスを機能別に分類する手法の提案を行った.本手法ではまず,開発履歴情報から,同時に更新されたメソッドの組を抽出して,同時更新の傾向を表現したグラフを作成する.更新傾向グラフに対しクラスタリングを行うことで,同時に更新される傾向が強いメソッド群を特定し,その結果を基にクラスを分類する.オブジェクト指向言語Javaを対象に本手法を適用するためのシステムを作成し,適用実験を行った結果,本手法の有用性を確認できた.
|