2004 Fiscal Year Annual Research Report
コードクローンに特化した自動リファクタリング手法の提案と実装
Project/Area Number |
04J08351
|
Research Institution | Osaka University |
Principal Investigator |
肥後 芳樹 大阪大学, 大学院・情報科学研究科, 特別研究員(DC1)
|
Keywords | コードクローン / リファクタリング / ソフトウェア保守 / Javaプログラム / ツール |
Research Abstract |
まず実際のソフトウェアに含まれるコードクローンの特徴を調査するため,さまざまなソフトウェアに対してコードクローン検出を行った.その結果,リファクタリング適用の可否とその方法に密接に関わっているのが"コードクローンとその周囲との関連度"および"コードクローン間の位置関係"であることが判明した.このことから,これらを定量的に計測するためのコードクローンメトリクスを提案した.また,特定のコードクローンに対するリファクタリング方法は一般に複数存在し,状況に応じて選択することが重要であることをふまえて,コードクローンメトリクスの計測値からリファクタリング方法を選択する手法を提案した.リファクタリング方法としては既存のリファクタリングパターンのうち8種類を応用したものを用意した. 次に、本手法を,リファクタリング支援システムAriesとして実装した.現段階では,本システムはJavaプログラムを対象としている.本システムを用いて,いくつかのオープンソースソフトウェアに対して適用実験を行った結果,提案手法が大規模なソフトウェアに対しても非常に高速に解析を行うことが確認できた.同時に,解析により得られたコードクローンの多くに対して,本システムにより提示されたリファクタリング方法を適用することで,効率的にリファクタリングを行うことができた. 以上の結果は,本システムがリファクタリング過程において,特に手間のかかる"リファクタリング箇所の特定"および"リファクタリング方法の決定"という2つの作業の支援を効果的に行うことができたことを示しており,本手法はリファクタリング作業の改善において非常に有益であることを確認した.
|
Research Products
(6 results)