論文の概要: Source Code Vulnerability Detection: Combining Code Language Models and Code Property Graphs
- arxiv url: http://arxiv.org/abs/2404.14719v1
- Date: Tue, 23 Apr 2024 03:48:18 GMT
- ステータス: 処理完了
- システム内更新日: 2024-04-24 15:20:15.747326
- Title: Source Code Vulnerability Detection: Combining Code Language Models and Code Property Graphs
- Title(参考訳): ソースコード脆弱性検出:コード言語モデルとコードプロパティグラフを組み合わせる
- Authors: Ruitong Liu, Yanbin Wang, Haitao Xu, Bin Liu, Jianguo Sun, Zhenhao Guo, Wenrui Ma,
- Abstract要約: Vul-LMGNNは、事前訓練されたコード言語モデルとコードプロパティグラフを組み合わせた統一モデルである。
Vul-LMGNNは、様々なコード属性を統一的なグラフ構造に統合するコードプロパティグラフを構築する。
属性間の依存性情報を効果的に保持するために,ゲートコードグラフニューラルネットワークを導入する。
- 参考スコア(独自算出の注目度): 5.953617559607503
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Currently, deep learning successfully applies to code vulnerability detection by learning from code sequences or property graphs. However, sequence-based methods often overlook essential code attributes such as syntax, control flow, and data dependencies, whereas graph-based approaches might underestimate the semantics of code and face challenges in capturing long-distance contextual information. To address this gap, we propose Vul-LMGNN, a unified model that combines pre-trained code language models with code property graphs for code vulnerability detection. Vul-LMGNN constructs a code property graph that integrates various code attributes (including syntax, flow control, and data dependencies) into a unified graph structure, thereafter leveraging pre-trained code model to extract local semantic features as node embeddings in the code property graph. Furthermore, to effectively retain dependency information among various attributes, we introduce a gated code Graph Neural Network (GNN). By jointly training the code language model and the gated code GNN modules in Vul-LMGNN, our proposed method efficiently leverages the strengths of both mechanisms. Finally, we utilize a pre-trained CodeBERT as an auxiliary classifier, with the final detection results derived by learning the linear interpolation of Vul-LMGNN and CodeBERT. The proposed method, evaluated across four real-world vulnerability datasets, demonstrated superior performance compared to six state-of-the-art approaches. Our source code could be accessed via the link: https://github.com/Vul-LMGNN/vul-LMGGNN.
- Abstract(参考訳): 現在、ディープラーニングはコードシーケンスやプロパティグラフから学ぶことによって、コードの脆弱性検出に成功している。
しかし、シーケンスベースのメソッドは、構文、制御フロー、データ依存といった重要なコード属性を見落としてしまうことが多いが、グラフベースのアプローチは、コードの意味を過小評価し、長距離のコンテキスト情報をキャプチャする上での課題に直面している。
このギャップに対処するため,プリトレーニング済みの言語モデルとコード脆弱性検出のためのコードプロパティグラフを組み合わせた統一モデルであるVul-LMGNNを提案する。
Vul-LMGNNは、様々なコード属性(シンタックス、フロー制御、データ依存を含む)を統一されたグラフ構造に統合するコードプロパティグラフを構築し、その後、トレーニング済みのコードモデルを活用して、コードプロパティグラフにノード埋め込みとしてローカルなセマンティック機能を抽出する。
さらに,様々な属性間の依存性情報を効果的に保持するために,ゲートコードグラフニューラルネットワーク(GNN)を導入する。
Vul-LMGNNでコード言語モデルとゲートコードGNNモジュールを共同でトレーニングすることにより,提案手法は両方のメカニズムの強みを効果的に活用する。
最後に,Vul-LMGNN と CodeBERT の線形補間学習から得られた最終検出結果を用いて,事前学習した CodeBERT を補助分類器として利用する。
提案手法は4つの現実世界の脆弱性データセットで評価され、6つの最先端アプローチと比較して優れた性能を示した。
私たちのソースコードは、https://github.com/Vul-LMGNN/vul-LMGNN.com.comからアクセスできます。
関連論文リスト
- CodeIP: A Grammar-Guided Multi-Bit Watermark for Large Language Models of Code [59.32609948217718]
我々は,Large Language Models(LLM)ベースのコード生成のための新しい透かし技術であるCodeIPを提案する。
CodeIPは、生成されたコードのセマンティクスを保持しながら、マルチビット情報の挿入を可能にする。
論文 参考訳(メタデータ) (2024-04-24T04:25:04Z) - Sequential Graph Neural Networks for Source Code Vulnerability
Identification [5.582101184758527]
我々は,C/C++ソースコードの脆弱性データセットを適切にキュレートし,モデルの開発を支援する。
また,多数のコード意味表現を学習するための連続グラフニューラルネットワーク(SEGNN)という,グラフニューラルネットワークに基づく学習フレームワークを提案する。
グラフ分類設定における2つのデータセットと4つのベースライン手法による評価は、最先端の結果を示している。
論文 参考訳(メタデータ) (2023-05-23T17:25:51Z) - Enhancing Semantic Code Search with Multimodal Contrastive Learning and
Soft Data Augmentation [50.14232079160476]
コード検索のためのマルチモーダルコントラスト学習とソフトデータ拡張を用いた新しい手法を提案する。
我々は,6つのプログラミング言語を用いた大規模データセットにおけるアプローチの有効性を評価するために,広範囲な実験を行った。
論文 参考訳(メタデータ) (2022-04-07T08:49:27Z) - ReGVD: Revisiting Graph Neural Networks for Vulnerability Detection [20.65271290295621]
本稿では,脆弱性検出のためのグラフネットワークモデルReGVDを提案する。
特にReGVDは、あるソースコードをフラットなトークンのシーケンスと見なしている。
我々は、脆弱性検出のためのCodeXGLUEから、実世界のベンチマークデータセット上で最も高い精度を得る。
論文 参考訳(メタデータ) (2021-10-14T12:44:38Z) - Software Vulnerability Detection via Deep Learning over Disaggregated
Code Graph Representation [57.92972327649165]
この研究は、コードコーパスから安全でないパターンを自動的に学習するためのディープラーニングアプローチを探求する。
コードには解析を伴うグラフ構造が自然に認められるため,プログラムの意味的文脈と構造的規則性の両方を利用する新しいグラフニューラルネットワーク(GNN)を開発する。
論文 参考訳(メタデータ) (2021-09-07T21:24:36Z) - 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) - Improved Code Summarization via a Graph Neural Network [96.03715569092523]
一般に、ソースコード要約技術はソースコードを入力として使用し、自然言語記述を出力する。
これらの要約を生成するために、ASTのデフォルト構造によくマッチするグラフベースのニューラルアーキテクチャを使用するアプローチを提案する。
論文 参考訳(メタデータ) (2020-04-06T17:36:42Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。