2013 Fiscal Year Annual Research Report
超大規模ソースコードを対象としたコードクローン検出システムの構築
Project/Area Number |
24680002
|
Research Institution | Osaka University |
Principal Investigator |
肥後 芳樹 大阪大学, 情報科学研究科, 助教 (70452414)
|
Project Period (FY) |
2012-04-01 – 2015-03-31
|
Keywords | コードクローン / ソースコード解析 / リポジトリマイニング / 大規模データセット |
Research Abstract |
平成25年度は,複数システム間のコードクローン検出について取り組んだ.複数システムが対象であるため,単体システム内コードクローン検出よりも更に高速性が求められる.この手法については,最近行われているファイル単位でのコードクローン検出法を参考に,手法を考案した.既存のファイルクローン検出手法は,1つのソースファイルから,1つのハッシュ値を算出し,そのハッシュ値を比較することでファイル単位でのコードクローン検出を行なっている.検出処理が数値の比較のみであるため,高速に検出処理が可能である.しかし,ファイル全体がコードクローンになっていなければ検出されないという欠点も持つ.本研究では,同様のハッシュ値による比較をC言語の関数やJava言語のメソッド単位で行うようにした.これらの単位は1つの処理としてまとまっているため,システム間の再利用単位として優れている.また関数・メソッド単位のコードクローン情報からファイル単位のコードクローン情報は簡単に構築できる.
|
Current Status of Research Progress |
Current Status of Research Progress
1: Research has progressed more than it was originally planned.
Reason
研究開始から二年が経過しているが申請時に三年間で行う予定であった内容は概ね達成できたと考えている.このため,当初は予定に入れていなかった,さらなる手法の改良についても取り組む予定である.
|
Strategy for Future Research Activity |
最終年度は,これまでに提案したコードクローン検出手法の改良に取り組む.提案した手法では高速化を実現するために,プログラムのメソッド単位でコードクローンを検出する.しかし,この方法では,例えば引数のエラー処理のみの有無やデバッグ用コードの有無等の違いを含むコードがあった場合,たとえそのコードの振る舞いが同じであってもクローンとして検出する事ができない.このような手法の制限を緩和するために,プログラム中におけるエラー処理やデバッグ用コードの自動特定およびそれらの自動削除を行う方法について研究を行う予定である.
|
Expenditure Plans for the Next FY Research Funding |
予定していたよりも成果発表の件数が少なくなってしまったため,次年度使用額が生じた. 今年度予定していた発表は最終年度に行う予定であるので,その成果発表旅費として次年度使用額を用いる.
|
Research Products
(7 results)
-
-
-
-
-
[Presentation] Reusing Reused Code2013
Author(s)
Tomoya Ishihara, Yoshiki Higo, and Shinji Kusumoto
Organizer
the 20th Working Conference on Reverse Engineering
Place of Presentation
Koblenz, Germany
Year and Date
20131014-20131017
-
-