• 研究課題をさがす
  • 研究者をさがす
  • KAKENの使い方
  1. 課題ページに戻る

2013 年度 実績報告書

超大規模ソースコードを対象としたコードクローン検出システムの構築

研究課題

研究課題/領域番号 24680002
研究機関大阪大学

研究代表者

肥後 芳樹  大阪大学, 情報科学研究科, 助教 (70452414)

研究期間 (年度) 2012-04-01 – 2015-03-31
キーワードコードクローン / ソースコード解析 / リポジトリマイニング / 大規模データセット
研究概要

平成25年度は,複数システム間のコードクローン検出について取り組んだ.複数システムが対象であるため,単体システム内コードクローン検出よりも更に高速性が求められる.この手法については,最近行われているファイル単位でのコードクローン検出法を参考に,手法を考案した.既存のファイルクローン検出手法は,1つのソースファイルから,1つのハッシュ値を算出し,そのハッシュ値を比較することでファイル単位でのコードクローン検出を行なっている.検出処理が数値の比較のみであるため,高速に検出処理が可能である.しかし,ファイル全体がコードクローンになっていなければ検出されないという欠点も持つ.本研究では,同様のハッシュ値による比較をC言語の関数やJava言語のメソッド単位で行うようにした.これらの単位は1つの処理としてまとまっているため,システム間の再利用単位として優れている.また関数・メソッド単位のコードクローン情報からファイル単位のコードクローン情報は簡単に構築できる.

現在までの達成度 (区分)
現在までの達成度 (区分)

1: 当初の計画以上に進展している

理由

研究開始から二年が経過しているが申請時に三年間で行う予定であった内容は概ね達成できたと考えている.このため,当初は予定に入れていなかった,さらなる手法の改良についても取り組む予定である.

今後の研究の推進方策

最終年度は,これまでに提案したコードクローン検出手法の改良に取り組む.提案した手法では高速化を実現するために,プログラムのメソッド単位でコードクローンを検出する.しかし,この方法では,例えば引数のエラー処理のみの有無やデバッグ用コードの有無等の違いを含むコードがあった場合,たとえそのコードの振る舞いが同じであってもクローンとして検出する事ができない.このような手法の制限を緩和するために,プログラム中におけるエラー処理やデバッグ用コードの自動特定およびそれらの自動削除を行う方法について研究を行う予定である.

次年度の研究費の使用計画

予定していたよりも成果発表の件数が少なくなってしまったため,次年度使用額が生じた.
今年度予定していた発表は最終年度に行う予定であるので,その成果発表旅費として次年度使用額を用いる.

  • 研究成果

    (7件)

すべて 2014 2013

すべて 雑誌論文 (2件) 学会発表 (5件)

  • [雑誌論文] CRDを用いたコードクローンの生存期間と修正回数に関する調査2014

    • 著者名/発表者名
      堀田圭佑, 肥後芳樹, 楠本真二
    • 雑誌名

      情報処理学会論文誌

      巻: 55 ページ: 947--958

  • [雑誌論文] Smith-Watermanアルゴリズムを利用したギャップを含むコードクローン検出2014

    • 著者名/発表者名
      村上寛明, 堀田圭佑, 肥後芳樹, 井垣宏, 楠本真二
    • 雑誌名

      情報処理学会論文誌

      巻: 55 ページ: 981--993

  • [学会発表] A Dataset of Clone References with Gaps2014

    • 著者名/発表者名
      Hiroaki Murakami, Yoshiki Higo, Shinji Kusumoto
    • 学会等名
      11th Working Conference on Mining Software Repositories
    • 発表場所
      Hyderabad, India
    • 年月日
      20140531-20140601
  • [学会発表] How Accurate Is Coarse-grained Clone Detection?: Comparison with Fine-grained Detectors2014

    • 著者名/発表者名
      Keisuke Hotta, Yoshiki Higo, and Shinji Kusumoto
    • 学会等名
      the 8th International Workshop of Software Clones
    • 発表場所
      Antwerp, Belgium
    • 年月日
      20140203-20140203
  • [学会発表] Reusing Reused Code2013

    • 著者名/発表者名
      Tomoya Ishihara, Yoshiki Higo, and Shinji Kusumoto
    • 学会等名
      the 20th Working Conference on Reverse Engineering
    • 発表場所
      Koblenz, Germany
    • 年月日
      20131014-20131017
  • [学会発表] Enhancement of CRD-based Clone Tracking2013

    • 著者名/発表者名
      Yoshiki Higo, Keisuke Hotta, and Shinji Kusumoto
    • 学会等名
      the 13th International Workshop on Principles of Software Evolution
    • 発表場所
      Saint Petersburg, Russia
    • 年月日
      20130819-20130820
  • [学会発表] Gapped Code Clone Detection with Lightweight Source Code Analysis”2013

    • 著者名/発表者名
      Hiroaki Murakami, Keisuke Hotta, Yoshiki Higo, Hiroshi Igaki, and Shinji Kusumoto
    • 学会等名
      the 21st International Conference on Program Comprehension
    • 発表場所
      San Francisco, California
    • 年月日
      20130520-20130521

URL: 

公開日: 2015-05-28  

サービス概要 検索マニュアル よくある質問 お知らせ 利用規程 科研費による研究の帰属

Powered by NII kakenhi