研究概要 |
本研究の目的は,開発プロジェクトで過去に行われたソースコード変更の理解及び分析を支援する手法及びツールを開発することである.平成22年度では,まずリファクタリングと通常の変更が混在したソースコードの差分からリファクタリングの影響を分離し,振る舞いの理解に適した差分を得る手法を提案し,その自動化ツールを開発した.この手法は,前年度に開発したリファクタリング抽出技術をベースとしており,差分からリファクタリング操作を抽出し,それらを一方のソースコードに実際に適用して得た新たなソースコードを比較に用いることにより,リファクタリングの影響を除外した差分を得る.複数のオープンソースソフトウェアを用いた自動化ツールの評価では,差分の生成が自動的に行えたこと,得られた差分の理解が容易だったことが示された.さらに,ソースコード変更のコミットログに残された自然言語記述から関連する機能に対応するソースコード片を容易に特定するための技術,ソースコード片が過去にどのように変更されてきたかを高精度で追跡するための技術も開発した.これらの技術では,機械的に得られた特定結果の正しい箇所や誤りを開発者が指摘することより結果を対話的に修正するものであり,自動化手法の欠点を補う.加えて,開発者の開発環境上でのソースコード編集操作を利用するソースコード変更の再構成手法についても,前年度に試作したプロトタイプを発展させ,広く利用可能なようツールを開発環境Echpse上に実現した.
|