論文の概要: Source Code is a Graph, Not a Sequence: A Cross-Lingual Perspective on
Code Clone Detection
- arxiv url: http://arxiv.org/abs/2312.16488v1
- Date: Wed, 27 Dec 2023 09:30:31 GMT
- ステータス: 処理完了
- システム内更新日: 2023-12-29 19:15:48.033667
- Title: Source Code is a Graph, Not a Sequence: A Cross-Lingual Perspective on
Code Clone Detection
- Title(参考訳): ソースコードはグラフでありシーケンスではない:コードクローン検出の言語横断的な視点
- Authors: Mohammed Ataaur Rahaman, Julia Ive
- Abstract要約: グラフベースの手法は,シーケンスベースの手法よりもコードクローン検出に適していることを示す。
CodeGraphは、両方のデータセット、特に言語間コードクローンにおいて、CodeBERTよりも優れています。
- 参考スコア(独自算出の注目度): 3.3298891718069648
- License: http://creativecommons.org/licenses/by-nc-sa/4.0/
- Abstract: Source code clone detection is the task of finding code fragments that have
the same or similar functionality, but may differ in syntax or structure. This
task is important for software maintenance, reuse, and quality assurance (Roy
et al. 2009). However, code clone detection is challenging, as source code can
be written in different languages, domains, and styles. In this paper, we argue
that source code is inherently a graph, not a sequence, and that graph-based
methods are more suitable for code clone detection than sequence-based methods.
We compare the performance of two state-of-the-art models: CodeBERT (Feng et
al. 2020), a sequence-based model, and CodeGraph (Yu et al. 2023), a
graph-based model, on two benchmark data-sets: BCB (Svajlenko et al. 2014) and
PoolC (PoolC no date). We show that CodeGraph outperforms CodeBERT on both
data-sets, especially on cross-lingual code clones. To the best of our
knowledge, this is the first work to demonstrate the superiority of graph-based
methods over sequence-based methods on cross-lingual code clone detection.
- Abstract(参考訳): ソースコードのクローン検出は、同じまたは類似の機能を持つが、構文や構造が異なるコードフラグメントを見つけるタスクである。
このタスクはソフトウェアのメンテナンス、再利用、品質保証(roy et al. 2009)において重要である。
しかし、ソースコードは異なる言語、ドメイン、スタイルで書くことができるため、コードクローン検出は困難である。
本稿では、ソースコードは本質的にシーケンスではなくグラフであり、グラフベースの手法はシーケンスベースの手法よりもコードクローン検出に適していると主張する。
我々は、シーケンスベースのモデルであるCodeBERT(Feng et al. 2020)とグラフベースのモデルであるCodeGraph(Yu et al. 2023)の2つのベンチマークデータセットであるBCB(Svajlenko et al. 2014)とPoolC(PoolC no date)を比較した。
CodeGraphは、両方のデータセット、特に言語間コードクローンにおいて、CodeBERTよりも優れています。
我々の知る限りでは、これは言語間コードクローン検出におけるシーケンスベースの手法よりもグラフベースの手法の方が優れていることを示す最初の試みである。
関連論文リスト
- SparseCoder: Identifier-Aware Sparse Transformer for File-Level Code
Summarization [51.67317895094664]
本稿では,大規模なソースコードプロジェクトの理解と維持を支援するファイルレベルのコード要約について検討する。
長いコードシーケンスを効果的に処理するための識別子対応スパース変換器であるSparseCoderを提案する。
論文 参考訳(メタデータ) (2024-01-26T09:23:27Z) - CONCORD: Clone-aware Contrastive Learning for Source Code [64.51161487524436]
セルフ教師付き事前トレーニングは、多くのダウンストリームSEタスクに価値のあるジェネリックコード表現を学ぶための牽引役になった。
汎用的な表現学習のために、開発者が日々どのようにコードをコーディングするかは、要因としても不可欠である、と私たちは主張する。
特に,表現空間に良性クローンを近づける自己教師型コントラスト学習戦略であるCONCORDを提案する。
論文 参考訳(メタデータ) (2023-06-05T20:39:08Z) - Evaluation of Contrastive Learning with Various Code Representations for
Code Clone Detection [3.699097874146491]
コードスニペットの意味的クローンを検出するためのコントラスト学習の評価を行った。
CodeTransformatorを使って、競争力のあるプログラミングソリューションに基づいて、プラジャライズされたコードを模倣するデータセットを作成します。
評価の結果,提案手法は各タスクにおいて多種多様な性能を示すが,グラフベースモデルの性能は概して他のモデルよりも優れていることがわかった。
論文 参考訳(メタデータ) (2022-06-17T12:25:44Z) - Enhancing Semantic Code Search with Multimodal Contrastive Learning and
Soft Data Augmentation [50.14232079160476]
コード検索のためのマルチモーダルコントラスト学習とソフトデータ拡張を用いた新しい手法を提案する。
我々は,6つのプログラミング言語を用いた大規模データセットにおけるアプローチの有効性を評価するために,広範囲な実験を行った。
論文 参考訳(メタデータ) (2022-04-07T08:49:27Z) - deGraphCS: Embedding Variable-based Flow Graph for Neural Code Search [15.19181807445119]
ソースコードを変数ベースのフローグラフに変換する学習可能なDeGraph for Code Search(deGraphCSと呼ばれる)を提案する。
C言語で記述された41,152のコードスニペットを含む大規模なデータセットをGitHubから収集しています。
論文 参考訳(メタデータ) (2021-03-24T06:57:44Z) - GraphCodeBERT: Pre-training Code Representations with Data Flow [97.00641522327699]
本稿では,コード固有の構造を考慮したプログラミング言語の事前学習モデルであるGraphCodeBERTを提案する。
これは変数間の"where-the-value-comes-from"の関係をエンコードするコードのセマンティックレベルの構造です。
コード検索,クローン検出,コード翻訳,コード改良の4つのタスクにおいて,本モデルを評価する。
論文 参考訳(メタデータ) (2020-09-17T15:25:56Z) - Learning to map source code to software vulnerability using
code-as-a-graph [67.62847721118142]
セキュリティの観点からソースコードのニュアンス学習におけるグラフニューラルネットワークの適用性について検討する。
我々は,既存のコード・アズ・フォトや線形シーケンスの符号化手法よりも,脆弱性検出に有効なコード・アズ・グラフの符号化法を示す。
論文 参考訳(メタデータ) (2020-06-15T16:05:27Z) - Auto-Encoding Twin-Bottleneck Hashing [141.5378966676885]
本稿では,効率よく適応的なコード駆動グラフを提案する。
自動エンコーダのコンテキストでデコードすることで更新される。
ベンチマークデータセットの実験は、最先端のハッシュ手法よりもフレームワークの方が優れていることを明らかに示しています。
論文 参考訳(メタデータ) (2020-02-27T05:58:12Z) - Detecting Code Clones with Graph Neural Networkand Flow-Augmented
Abstract Syntax Tree [30.484662671342935]
フロー拡張抽象構文木(FA-AST)と呼ばれるプログラムのグラフ表現を構築する。
FA-ASTに2種類のグラフニューラルネットワークを適用し、コードペアの類似性を計測する。
当社のアプローチは,Google Code JamとBigCloneBenchタスクの両面で,最先端のアプローチよりも優れています。
論文 参考訳(メタデータ) (2020-02-20T10:18:37Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。