多様なプログラミング言語に対応可能なコードクローン検出ツールの開発
多様なプログラミング言語に対応可能なコードクローン検出ツールの開発
批准号:
20K11745
负责人:
吉田 則裕
金额:
$2.41万
依托单位国家:
日本
项目类别:
Grant-in-Aid for Scientific Research (C)
财政年份:
2020
资助国家:
日本
项目状态:
已结题
起止时间:
2020-04-01 至 2024-03-31
中文摘要
コードクローンとは,ソフトウェア開発中にコピーアンドペーストなどにより作成された類似したコード片である.コードクローンは,ソフトウェア保守を困難にする要因の1つであるため,検出し管理する必要がある.1990年代以降,数多くのコードクローン検出ツールが提案されたが,そのほとんどは限られたプログラミング言語のみに対応し,対応言語を増加させることが難しい.プログラミング言語は,頻繁に新規開発や文法の更新が行われるため,対応言語を柔軟に追加可能なコードクローン検出ツールが必要であると考えられる.研究代表者は以前に,対象言語の文法の一部を正規表現として抽出し,対応言語を柔軟に増加できるコードクローン検出ツールを開発した.しかし,正規表現では表現能力が不足しているため,対応できない言語がある.加えて,トークン列の照合に基づきコードクローンを検出するため,ステートメントの追加や削除を行ったコードクローンを検出する能力はない.そこで,多様なプログラミング言語に対応可能であり,ステートメントの追加・削除を許容するコードクローン検出ツールを実装した. 具体的には,パーサジェネレータの1つであるANTLRを使用してソースコード正規化を行い,Token Bagモデルを基にコード片の類似度を計算することによって,検出可能なコードクローンの種類を増加させることを試みた.研究成果を論文にまとめ,国際会議30th IEEE/ACM International Conference on Program Comprehension (ICPC 2022)に投稿し,採録されたため発表を行った.また,大規模ソースコード集合CodeNetを用いた評価実験に取り組んだ.
英文摘要
コードクローンとは,ソフトウェア開発中にコピーアンドペーストなどにより作成された類似したコード片である.コードクローンは,ソフトウェア保守を困難にする要因の1つであるため,検出し管理する必要がある.1990年代以降,数多くのコードクローン検出ツールが提案されたが,そのほとんどは限られたプログラミング言語のみに対応し,対応言語を増加させることが難しい.プログラミング言語は,頻繁に新規開発や文法の更新が行われるため,対応言語を柔軟に追加可能なコードクローン検出ツールが必要であると考えられる.研究代表者は以前に,対象言語の文法の一部を正規表現として抽出し,対応言語を柔軟に増加できるコードクローン検出ツールを開発した.しかし,正規表現では表現能力が不足しているため,対応できない言語がある.加えて,トークン列の照合に基づきコードクローンを検出するため,ステートメントの追加や削除を行ったコードクローンを検出する能力はない.そこで,多様なプログラミング言語に対応可能であり,ステートメントの追加・削除を許容するコードクローン検出ツールを実装した. 具体的には,パーサジェネレータの1つであるANTLRを使用してソースコード正規化を行い,Token Bagモデルを基にコード片の類似度を計算することによって,検出可能なコードクローンの種類を増加させることを試みた.研究成果を論文にまとめ,国際会議30th IEEE/ACM International Conference on Program Comprehension (ICPC 2022)に投稿し,採録されたため発表を行った.また,大規模ソースコード集合CodeNetを用いた評価実験に取り組んだ.
期刊论文(9)
专著(0)
科研奖励(0)
会议论文
登录
查看更多内容
深層学習を用いたコードクローン検出器の汎化性能に関する調査
使用深度学习研究代码克隆检测器的泛化性能
DOI:
--
发表时间:
2021
期刊:
影响因子:
--
作者:
[福家 範浩, 藤原 裕士, 吉田 則裕, 崔 恩瀞, 井上 克郎]
通讯作者:
井上 克郎
コードクローン検出に基づくIoTを対象とした自動パッチ生成
基于代码克隆检测的物联网自动补丁生成
DOI:
--
发表时间:
2022
期刊:
影响因子:
--
作者:
[大野 堅太郎, 吉田 則裕, 朱 文青, 高田 広章]
通讯作者:
高田 広章
深層学習を用いたコードクローン検出器のベンチマーク間精度調査
使用深度学习的代码克隆检测器的基准准确性调查
DOI:
--
发表时间:
2022
期刊:
影响因子:
--
作者:
[福家 範浩, 藤原 裕士, 吉田 則裕, 崔 恩瀞, 井上 克郎]
通讯作者:
井上 克郎
A Survey of Approaches for Code Clone Search
代码克隆搜索方法综述
DOI:
10.11309/jssst.39.3_47
发表时间:
2022
期刊:
Computer Software
影响因子:
--
作者:
[崔 恩瀞, 藤原 裕士, 吉田 則裕, 水野 修]
通讯作者:
水野 修
A Dynamic Improvement of a Training Dataset for Source Code Classification Using Deep Learning
使用深度学习动态改进源代码分类训练数据集
DOI:
10.14923/transinfj.2020pdp0005
发表时间:
2021
期刊:
電子情報通信学会論文誌D 情報・システム
影响因子:
--
作者:
[藤原 裕士, 崔 恩瀞, 吉田 則裕, 井上 克郎]
通讯作者:
井上 克郎
共 8 条
ファジングが発見した不具合の自動修正技術
-
批准号:24K02923
-
项目类别:Grant-in-Aid for Scientific Research (B)
-
资助金额:$11.73万
-
财政年份:2024
-
负责人:吉田 則裕
-
依托单位:
デバッグ支援を目的とした類似コードの検出・分類手法
-
批准号:08J01964
-
项目类别:Grant-in-Aid for JSPS Fellows
-
资助金额:$0.77万
-
财政年份:2008
-
负责人:吉田 則裕
-
依托单位:
海外基金