論文の概要: SCALE: Constructing Structured Natural Language Comment Trees for Software Vulnerability Detection
- arxiv url: http://arxiv.org/abs/2403.19096v1
- Date: Thu, 28 Mar 2024 02:20:03 GMT
- ステータス: 処理完了
- システム内更新日: 2024-03-29 17:32:29.578927
- Title: SCALE: Constructing Structured Natural Language Comment Trees for Software Vulnerability Detection
- Title(参考訳): SCALE: ソフトウェア脆弱性検出のための構造化自然言語コメントツリーの構築
- Authors: Xin-Cheng Wen, Cuiyun Gao, Shuzheng Gao, Yang Xiao, Michael R. Lyu,
- Abstract要約: 本稿では,事前学習モデルに基づく構造化自然言語コメント木に基づくvulnerAbiLity dEtectionフレームワークを提案する。
提案したStructured Natural Language Comment Tree (SCT)は、コードステートメントのセマンティクスとコード実行シーケンスを統合する。
- 参考スコア(独自算出の注目度): 36.37244302912536
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Recently, there has been a growing interest in automatic software vulnerability detection. Pre-trained model-based approaches have demonstrated superior performance than other Deep Learning (DL)-based approaches in detecting vulnerabilities. However, the existing pre-trained model-based approaches generally employ code sequences as input during prediction, and may ignore vulnerability-related structural information, as reflected in the following two aspects. First, they tend to fail to infer the semantics of the code statements with complex logic such as those containing multiple operators and pointers. Second, they are hard to comprehend various code execution sequences, which is essential for precise vulnerability detection. To mitigate the challenges, we propose a Structured Natural Language Comment tree-based vulnerAbiLity dEtection framework based on the pre-trained models, named SCALE. The proposed Structured Natural Language Comment Tree (SCT) integrates the semantics of code statements with code execution sequences based on the Abstract Syntax Trees (ASTs). Specifically, SCALE comprises three main modules: (1) Comment Tree Construction, which aims at enhancing the model's ability to infer the semantics of code statements by first incorporating Large Language Models (LLMs) for comment generation and then adding the comment node to ASTs. (2) Structured Natural Language Comment Tree Construction}, which aims at explicitly involving code execution sequence by combining the code syntax templates with the comment tree. (3) SCT-Enhanced Representation, which finally incorporates the constructed SCTs for well capturing vulnerability patterns.
- Abstract(参考訳): 近年,ソフトウェアの自動脆弱性検出への関心が高まっている。
事前訓練されたモデルベースアプローチは、脆弱性の検出において他のディープラーニング(DL)ベースのアプローチよりも優れたパフォーマンスを示している。
しかし、既存のトレーニング済みモデルベースのアプローチでは、一般的に予測時にコードシーケンスを入力として使用し、以下の2つの側面に反映される脆弱性に関連する構造情報を無視する可能性がある。
まず、複数の演算子やポインタを含むような複雑なロジックでコード文のセマンティクスを推論するのに失敗する傾向があります。
第二に、さまざまなコード実行シーケンスを理解することは困難であり、これは正確な脆弱性検出に不可欠である。
課題を軽減するために,SCALE という事前学習モデルに基づく構造化自然言語コメント木に基づくvulnerAbiLity dEtection フレームワークを提案する。
提案したStructured Natural Language Comment Tree (SCT)は、コードステートメントのセマンティクスと、抽象構文木(AST)に基づいたコード実行シーケンスを統合する。
SCALEは、(1)コメント生成用にLLM(Large Language Models)を最初に組み込んだ後、ASTにコメントノードを追加することで、モデルがコードステートメントの意味を推論する能力を高めることを目的としたコメントツリー構築(コメントツリー構築)という3つの主要なモジュールで構成されています。
2) コード構文テンプレートとコメントツリーを組み合わせることで,コード実行シーケンスを明示的に含意することを目的とした構造化自然言語コメントツリー構築。
(3) SCT-Enhanced Representationは、最終的に構築されたSCTを組み込んで脆弱性パターンをうまく捉えている。
関連論文リスト
- Outline, Then Details: Syntactically Guided Coarse-To-Fine Code
Generation [61.50286000143233]
ChainCoderは、Pythonコードを段階的に生成するプログラム合成言語モデルである。
自然言語記述と構文的に整合したI/Oデータサンプルを共同で符号化するために、カスタマイズされたトランスフォーマーアーキテクチャを利用する。
論文 参考訳(メタデータ) (2023-04-28T01:47:09Z) - Benchmarking Language Models for Code Syntax Understanding [79.11525961219591]
事前学習された言語モデルは、自然言語処理とプログラム理解の両方において素晴らしい性能を示している。
本研究では,プログラムの構文構造を特定するための,最先端の事前訓練モデルの最初の徹底的なベンチマークを行う。
この結果から,既存のプログラミング言語の事前学習手法の限界が指摘され,構文構造をモデル化することの重要性が示唆された。
論文 参考訳(メタデータ) (2022-10-26T04:47:18Z) - What Do They Capture? -- A Structural Analysis of Pre-Trained Language
Models for Source Code [32.345301158791045]
ソースコードの事前訓練された言語モデルは、コードのコンテキストをモデル化するために提案されている。
これらのモデルは、マスク付き事前トレーニングとトランスフォーマーを利用する。
これらのモデルがなぜ機能するのか、どのような特徴相関を捉えることができるのかは不明だ。
論文 参考訳(メタデータ) (2022-02-14T16:22:10Z) - Synchromesh: Reliable code generation from pre-trained language models [38.15391794443022]
コード生成のための事前学習モデルの信頼性を大幅に向上するフレームワークであるSynchromeshを提案する。
まず、TST(Target similarity Tuning)を使用して、トレーニングバンクから、セマンティックなサンプル選択の新しい方法を使用して、数ショットのサンプルを検索する。
次に、Synchromeshはサンプルをトレーニング済みの言語モデルに供給し、対象言語の有効なプログラムセットに出力を制約する一般的なフレームワークであるConstrained Semantic Decoding (CSD)を使用してプログラムをサンプリングする。
論文 参考訳(メタデータ) (2022-01-26T22:57:44Z) - Software Vulnerability Detection via Deep Learning over Disaggregated
Code Graph Representation [57.92972327649165]
この研究は、コードコーパスから安全でないパターンを自動的に学習するためのディープラーニングアプローチを探求する。
コードには解析を伴うグラフ構造が自然に認められるため,プログラムの意味的文脈と構造的規則性の両方を利用する新しいグラフニューラルネットワーク(GNN)を開発する。
論文 参考訳(メタデータ) (2021-09-07T21:24:36Z) - CLSEBERT: Contrastive Learning for Syntax Enhanced Code Pre-Trained
Model [23.947178895479464]
CLSEBERTは,構文強化符号事前学習モデルのための構築学習フレームワークである。
事前学習段階では、抽象構文木(AST)に含まれるコード構文と階層について検討する。
ひとつは抽象構文木内のノード間のエッジを予測することであり、もう一つはコードトークンの型を予測することである。
論文 参考訳(メタデータ) (2021-08-10T10:08:21Z) - Improving Code Summarization with Block-wise Abstract Syntax Tree
Splitting [15.28941592388958]
ソースコードの構文構造を表現した抽象構文木(AST)がコード要約の生成をガイドするために組み込まれている。
既存のastベースのメソッドはトレーニングが困難で、不適切なコード要約を生成する。
ASTのリッチツリー形式の構文構造をフル活用したBlock-wise Abstract Syntax Tree Splitting法(BASTS)を提案する。
論文 参考訳(メタデータ) (2021-03-14T05:04:06Z) - GraphCodeBERT: Pre-training Code Representations with Data Flow [97.00641522327699]
本稿では,コード固有の構造を考慮したプログラミング言語の事前学習モデルであるGraphCodeBERTを提案する。
これは変数間の"where-the-value-comes-from"の関係をエンコードするコードのセマンティックレベルの構造です。
コード検索,クローン検出,コード翻訳,コード改良の4つのタスクにおいて,本モデルを評価する。
論文 参考訳(メタデータ) (2020-09-17T15:25:56Z) - Exploring Software Naturalness through Neural Language Models [56.1315223210742]
ソフトウェア自然性仮説(Software Naturalness hypothesis)は、自然言語処理で使用されるのと同じ手法でプログラミング言語を理解することができると主張している。
この仮説は,事前学習されたトランスフォーマーベース言語モデルを用いて,コード解析タスクを実行することによって検討する。
論文 参考訳(メタデータ) (2020-06-22T21:56:14Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。