研究概要 |
本年度は,版管理リポジトリを利用した,リファクタリングの実例やリファクタリング支援のための知識を抽出するための手法の提案及びその実現ツールの開発を行った.また,変更履歴を利用したリファクタリング支援プログラムの開発も継続して行った.具体的な成果は以下の通りである. 1.リポジトリからのリファクタリング実例の抽出 版管理リポジトリ中に差分の集合として格納されたプログラムの変更履歴からリファクタリング操作を抽出するためには,複数のリファクタリングが混在して行われた場合を正しく検出する必要がある.この技術では,グラフ探索手法を応用して,行われたリファクタリングを段階的に検出する.さらに,抽出したリファクタリングを効率的に保存・閲覧するためのリポジトリの設計を行った. 2.リポジトリからのリファクタリング支援情報の抽出 リファクタリング支援のためには,過去に行われたソフトウェア進化の実例を参考にすることが有用である.版管理リポジトリを解析し,行われた変更とその間の関係を細粒度で形式的に表し,その特徴を抽出する機構の開発を進めた. 3.変更履歴を利用したリファクタリング支援 リファクタリングの機会を自動的に提供する場合では,開発者の妨げにならないよう,ソフトウェア開発環境と連携し開発者の意図を汲むのが望ましい,これまでに作成した,開発者が行ったソースコードへの編集の履歴を利用したリファクタリング支援ツールを,他の変更も並行して利用することのできるよう整備した.
|