研究課題/領域番号 |
24680002
|
研究機関 | 大阪大学 |
研究代表者 |
肥後 芳樹 大阪大学, 情報科学研究科, 助教 (70452414)
|
研究期間 (年度) |
2012-04-01 – 2015-03-31
|
キーワード | コードクローン / ソースコード解析 / リポジトリマイニング / 大規模データセット |
研究概要 |
平成25年度は,複数システム間のコードクローン検出について取り組んだ.複数システムが対象であるため,単体システム内コードクローン検出よりも更に高速性が求められる.この手法については,最近行われているファイル単位でのコードクローン検出法を参考に,手法を考案した.既存のファイルクローン検出手法は,1つのソースファイルから,1つのハッシュ値を算出し,そのハッシュ値を比較することでファイル単位でのコードクローン検出を行なっている.検出処理が数値の比較のみであるため,高速に検出処理が可能である.しかし,ファイル全体がコードクローンになっていなければ検出されないという欠点も持つ.本研究では,同様のハッシュ値による比較をC言語の関数やJava言語のメソッド単位で行うようにした.これらの単位は1つの処理としてまとまっているため,システム間の再利用単位として優れている.また関数・メソッド単位のコードクローン情報からファイル単位のコードクローン情報は簡単に構築できる.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
1: 当初の計画以上に進展している
理由
研究開始から二年が経過しているが申請時に三年間で行う予定であった内容は概ね達成できたと考えている.このため,当初は予定に入れていなかった,さらなる手法の改良についても取り組む予定である.
|
今後の研究の推進方策 |
最終年度は,これまでに提案したコードクローン検出手法の改良に取り組む.提案した手法では高速化を実現するために,プログラムのメソッド単位でコードクローンを検出する.しかし,この方法では,例えば引数のエラー処理のみの有無やデバッグ用コードの有無等の違いを含むコードがあった場合,たとえそのコードの振る舞いが同じであってもクローンとして検出する事ができない.このような手法の制限を緩和するために,プログラム中におけるエラー処理やデバッグ用コードの自動特定およびそれらの自動削除を行う方法について研究を行う予定である.
|
次年度の研究費の使用計画 |
予定していたよりも成果発表の件数が少なくなってしまったため,次年度使用額が生じた. 今年度予定していた発表は最終年度に行う予定であるので,その成果発表旅費として次年度使用額を用いる.
|