2019 Fiscal Year Annual Research Report
Retrieving code clones that are harmful for software quality
Project/Area Number |
17H01725
|
Research Institution | Osaka University |
Principal Investigator |
肥後 芳樹 大阪大学, 情報科学研究科, 准教授 (70452414)
|
Project Period (FY) |
2017-04-01 – 2020-03-31
|
Keywords | コードクローン / クローンペア / クローンセット / リファクタリング |
Outline of Annual Research Achievements |
本年度は2つのサブテーマについて取り組んだ. 1つ目は,クローンセット形式でのコードクローン検出法の提案である.コードクローン情報を活用するという観点ではクローンペア形式の検出よりもクローンセット形式の検出の方が望ましいが,既存の検出手法はクローンペア形式でコードクローンを検出するものばかりである.クローンペア形式の検出では,検出された有害なコードクローン情報を活用することは難しい.そのため,有害なコードクローン情報を有効に活用するための基盤として,クローンセット形式で高速にコードクローンを検出する手法について取り組んだ. 2つ目は,コードクローンを対象とした自動リファクタリング法の提案である.すでに既存手法でコードクローンはリファクタリングすべきコードとして指摘されており,さまざまなリファクタリング方法が提案されている.既存手法は,コードクローンになっているコードの関係(同じクラス内に存在するのか,共通の親クラスを持つ異なる子クラスに存在するのか等)を利用して,どのようにコードクローンが除去できるのかを提案するが,それ以降は開発者が手動でリファクタリングを行う必要がある.本研究では,検出されたコードクローンのうち,(1)リファクタリングが可能なものを特定し,(2)そのコードクローンの除去を行い,(3)テストを実装し動作が変わっていないことを確認する,という3つの処理を完全に自動で行う手法について取り組んだ.現時点では,Extract Methodリファクタリングパターンのみが対象となっているが,Pull Up MethodやForm Template Methodなど他のリファクタリングパターンに拡張することも可能である.
|
Research Progress Status |
令和元年度が最終年度であるため、記入しない。
|
Strategy for Future Research Activity |
令和元年度が最終年度であるため、記入しない。
|