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

2022 年度 実施状況報告書

多様なプログラミング言語に対応可能なコードクローン検出ツールの開発

研究課題

研究課題/領域番号 20K11745
研究機関立命館大学

研究代表者

吉田 則裕  立命館大学, 情報理工学部, 教授 (00582545)

研究期間 (年度) 2020-04-01 – 2024-03-31
キーワードコードクローン
研究実績の概要

コードクローンとは,ソフトウェア開発中にコピーアンドペーストなどにより作成された類似したコード片である.コードクローンは,ソフトウェア保守を困難にする要因の1つであるため,検出し管理する必要がある.1990年代以降,数多くのコードクローン検出ツールが提案されたが,そのほとんどは限られたプログラミング言語のみに対応し,対応言語を増加させることが難しい.プログラミング言語は,頻繁に新規開発や文法の更新が行われるため,対応言語を柔軟に追加可能なコードクローン検出ツールが必要であると考えられる.研究代表者は以前に,対象言語の文法の一部を正規表現として抽出し,対応言語を柔軟に増加できるコードクローン検出ツールを開発した.しかし,正規表現では表現能力が不足しているため,対応できない言語がある.加えて,トークン列の照合に基づきコードクローンを検出するため,ステートメントの追加や削除を行ったコードクローンを検出する能力はない.

そこで,多様なプログラミング言語に対応可能であり,ステートメントの追加・削除を許容するコードクローン検出ツールを実装した. 具体的には,パーサジェネレータの1つであるANTLRを使用してソースコード正規化を行い,Token Bagモデルを基にコード片の類似度を計算することによって,検出可能なコードクローンの種類を増加させることを試みた.

研究成果を論文にまとめ,国際会議30th IEEE/ACM International Conference on Program Comprehension (ICPC 2022)に投稿し,採録されたため発表を行った.また,大規模ソースコード集合CodeNetを用いた評価実験に取り組んだ.

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

3: やや遅れている

理由

BigCloneBench等のコードクローン検出ツールのベンチマークであるのみでは十分な評価実験を行うことができないことがわかり,大規模ソースコード集合CodeNetを対象とした追加実験を行っている.この追加実験を行うことになったため,評価実験に想定よりも時間を要している.

今後の研究の推進方策

大規模ソースコード集合CodeNetを対象とした追加実験を引き続き行うことで,十分な評価実験および考察を行う予定である.また,評価実験の結果をまとめ,ジャーナル論文を投稿予定である.

次年度使用額が生じた理由

提案手法を評価するベンチマークとしてBigCloneBenchを用いることにしていたが,BigCloneBenchだけでは十分な評価を行うことが出来ないことがわかった.そのため,大規模ソースコード集合CodeNetを用いた評価を追加することを目的として,実験的評価のための物品購入費や評価方法について様々な研究者と議論するための旅費を使用する.

  • 研究成果

    (3件)

すべて 2022

すべて 雑誌論文 (1件) (うち査読あり 1件、 オープンアクセス 1件) 学会発表 (2件) (うち国際学会 1件)

  • [雑誌論文] コードクローン検索手法の調査2022

    • 著者名/発表者名
      崔 恩瀞、藤原 裕士、吉田 則裕、水野 修
    • 雑誌名

      コンピュータ ソフトウェア

      巻: 39 ページ: 3_47~3_59

    • DOI

      10.11309/jssst.39.3_47

    • 査読あり / オープンアクセス
  • [学会発表] MSCCD: Grammar Pluggable Clone Detection Based on ANTLR Parser Generation2022

    • 著者名/発表者名
      Wenqing Zhu, Norihiro Yoshida, Toshihiro Kamiya, Eunjong Choi, Hiroaki Takada
    • 学会等名
      30th IEEE/ACM International Conference on Program Comprehension (ICPC 2022)
    • 国際学会
  • [学会発表] コードクローン検出に基づくIoTを対象とした自動パッチ生成2022

    • 著者名/発表者名
      大野 堅太郎, 吉田 則裕, 朱 文青, 高田 広章
    • 学会等名
      日本ソフトウェア科学会 第29回ソフトウェア工学の基礎ワークショップ (FOSE 2022)

URL: 

公開日: 2023-12-25  

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

Powered by NII kakenhi