研究概要 |
継続的に開発される大規模ソフトウェアの理解コストを削減させるためには,頻発する修正により生じたソフトウェアの変化を,過去の開発経緯を踏まえて低コストで理解することが有用である.本研究の目的は,特にソースコードの理解を円滑にするために,開発プロジェクトで過去に行われたソースコード変更の理解及び分析を支援する手法及びツールを開発することである.平成21年度では,以下の成果を得た.(1)ソースコードの版管理履歴からリファクタリング操作を抽出するツールの改良を行った.ツールではグラフ探索手法を応用し,2版間の差分から高い抽象度の変更としてリファクタリング操作を抽出する.扱えるリファクタリング操作の及び自動化範囲の拡充を行い,さらなるコストの削減に成功した.(2)ソースコードの編集操作履歴に対して注釈付けを行うことにより,ソースコードの差分を理解に適した形に再構成する手法を開発した.また,注釈付け及び再構成ツールのプロトタイプを実装し,実際に再構成が自動化できることを確認した.これにより,既存の版管理システムと親和性の高い形で,理解に適したソースコード変更を低コストで記録することが可能となった.(3)ソースコード変更の理解の際に,変更箇所に関連する仕様書上の記述を特定するために,ドメインオントロジを用いてソースコードと仕様書間の追跡性を回復する技術を開発し,その有用性を事例分析により確認した.(4)次年度に向けて,開発プロジェクトで行われたソースコード変更全体を横断的に分析するための環境及びその構築システムの設計を行った.
|