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

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

研究課題

研究課題/領域番号 20K11745
研究種目

基盤研究(C)

配分区分基金
応募区分一般
審査区分 小区分60050:ソフトウェア関連
研究機関立命館大学 (2022-2023)
名古屋大学 (2020-2021)

研究代表者

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

研究期間 (年度) 2020-04-01 – 2025-03-31
研究課題ステータス 交付 (2023年度)
配分額 *注記
3,770千円 (直接経費: 2,900千円、間接経費: 870千円)
2022年度: 910千円 (直接経費: 700千円、間接経費: 210千円)
2021年度: 1,170千円 (直接経費: 900千円、間接経費: 270千円)
2020年度: 1,690千円 (直接経費: 1,300千円、間接経費: 390千円)
キーワードコードクローン / 構文解析 / プログラミング言語
研究開始時の研究の概要

コードクローンとは,ソースコード中の一部分(コード片)のうち,他のコード片と類似しているものを指す.これまで,数多くのコードクローン検出ツールが開発されてきたが,対応言語を追加するための拡張を行うことが難しいという問題点があった.目的に合わせ多種多様なプログラミング言語が開発・使用されるようになってきており,対応言語を柔軟に増やすことができないことは,コードクローン検出ツールの普及を阻害している.そこで本研究では,柔軟に変更可能な構文解析機構を持つコードクローン検出ツールを開発する.

研究実績の概要

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

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

実装したコードクローン検出を,様々なプログラミング言語で記述されているIoTシステムのプログラムに適用した.今後,IoTシステムにおいてコードクローンが適切に管理されているか分析を行う予定である.

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

3: やや遅れている

理由

有効性の追加検証を行うため,様々なプログラミング言語で記述されているIoTシステムのプログラムに適用することとなった.そのための実験対象の選定等準備に想定より時間を要している.

今後の研究の推進方策

有効性の追加検証を行うため,様々なプログラミング言語で記述されているIoTシステムのプログラムに適用する.実験対象の準備や適用方法についての検討は完了したため,適用や適用結果の分析については効率的に行うことが出来ると考えている.

報告書

(4件)
  • 2023 実施状況報告書
  • 2022 実施状況報告書
  • 2021 実施状況報告書
  • 2020 実施状況報告書
  • 研究成果

    (9件)

すべて 2022 2021 2020

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

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

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

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

      巻: 39 号: 3 ページ: 3_47-3_59

    • DOI

      10.11309/jssst.39.3_47

    • ISSN
      0289-6540
    • 年月日
      2022-07-22
    • 関連する報告書
      2022 実施状況報告書
    • 査読あり / オープンアクセス
  • [雑誌論文] Cross-Polytope LSH を用いた コードクローン検出のためのパラメータ決定手法2021

    • 著者名/発表者名
      徳井 翔梧、吉田 則裕、崔 恩瀞、井上 克郎
    • 雑誌名

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

      巻: 38 号: 4 ページ: 4_60-4_82

    • DOI

      10.11309/jssst.38.4_60

    • NAID

      130008132031

    • ISSN
      0289-6540
    • 年月日
      2021-10-22
    • 関連する報告書
      2021 実施状況報告書
    • 査読あり / オープンアクセス
  • [雑誌論文] 深層学習を用いたソースコード分類手法の比較調査2021

    • 著者名/発表者名
      藤原 裕士, 崔 恩瀞, 吉田 則裕, 井上 克郎
    • 雑誌名

      電子情報通信学会論文誌D 情報・システム

      巻: J104-D 号: 8 ページ: 622-635

    • DOI

      10.14923/transinfj.2020JDP7068

    • ISSN
      1880-4535, 1881-0225
    • 年月日
      2021-08-01
    • 関連する報告書
      2021 実施状況報告書
    • 査読あり / オープンアクセス
  • [雑誌論文] 深層学習を用いたソースコード分類のための動的な学習用データセット改善手法の提案2021

    • 著者名/発表者名
      藤原 裕士, 崔 恩瀞, 吉田 則裕, 井上 克郎
    • 雑誌名

      電子情報通信学会論文誌D 情報・システム

      巻: J104-D 号: 4 ページ: 275-284

    • DOI

      10.14923/transinfj.2020PDP0005

    • ISSN
      1880-4535, 1881-0225
    • 年月日
      2021-04-01
    • 関連する報告書
      2021 実施状況報告書
    • 査読あり / オープンアクセス
  • [雑誌論文] 多様なプログラミング言語に対応可能なコードクローン検出ツールCCFinderSW2020

    • 著者名/発表者名
      瀬村 雄一、吉田 則裕、崔 恩瀞、井上 克郎
    • 雑誌名

      電子情報通信学会論文誌D 情報・システム

      巻: J103-D 号: 4 ページ: 215-227

    • DOI

      10.14923/transinfj.2019PDP0025

    • ISSN
      1880-4535, 1881-0225
    • 年月日
      2020-04-01
    • 関連する報告書
      2020 実施状況報告書
    • 査読あり / オープンアクセス
  • [学会発表] 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)
    • 関連する報告書
      2022 実施状況報告書
    • 国際学会
  • [学会発表] コードクローン検出に基づくIoTを対象とした自動パッチ生成2022

    • 著者名/発表者名
      大野 堅太郎, 吉田 則裕, 朱 文青, 高田 広章
    • 学会等名
      日本ソフトウェア科学会 第29回ソフトウェア工学の基礎ワークショップ (FOSE 2022)
    • 関連する報告書
      2022 実施状況報告書
  • [学会発表] 深層学習を用いたコードクローン検出器のベンチマーク間精度調査2022

    • 著者名/発表者名
      福家 範浩, 藤原 裕士, 吉田 則裕, 崔 恩瀞, 井上 克郎
    • 学会等名
      "情報処理学会第210回 ソフトウェア工学研究発表会"
    • 関連する報告書
      2021 実施状況報告書
  • [学会発表] 深層学習を用いたコードクローン検出器の汎化性能に関する調査2021

    • 著者名/発表者名
      福家 範浩, 藤原 裕士, 吉田 則裕, 崔 恩瀞, 井上 克郎
    • 学会等名
      情報処理学会 第207回 ソフトウェア工学研究発表会
    • 関連する報告書
      2020 実施状況報告書

URL: 

公開日: 2020-04-28   更新日: 2024-12-25  

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

Powered by NII kakenhi