論文の概要: DeepCode AI Fix: Fixing Security Vulnerabilities with Large Language
Models
- arxiv url: http://arxiv.org/abs/2402.13291v2
- Date: Fri, 23 Feb 2024 17:26:06 GMT
- ステータス: 処理完了
- システム内更新日: 2024-02-26 16:58:45.797619
- Title: DeepCode AI Fix: Fixing Security Vulnerabilities with Large Language
Models
- Title(参考訳): deepcode ai修正: 大きな言語モデルによるセキュリティ脆弱性の修正
- Authors: Berkay Berabi, Alexey Gronskiy, Veselin Raychev, Gishor Sivanrupan,
Victor Chibotaru, Martin Vechev
- Abstract要約: 大規模言語モデル(LLM)は、様々なプログラミングタスクの解決にますます使われている。
長距離コード関係を学習するモデルを必要とするため,タスクは困難であることを示す。
本稿では,LLMのクエリと微調整のための新しいアプローチにより,これらの課題に対処する手法を提案する。
- 参考スコア(独自算出の注目度): 3.1690235522182104
- License: http://creativecommons.org/licenses/by-nc-nd/4.0/
- Abstract: The automated program repair field has attracted substantial interest over
the years, but despite significant research efforts, creating a system that
works well for complex semantic bugs such as security vulnerabilities has
proven difficult. A promising direction to solve this challenge is by
leveraging large language models (LLMs), which are increasingly used to solve
various programming tasks. In this paper, we investigate the effectiveness of
LLMs for solving code-repair task. We show that the task is difficult as it
requires the model to learn long-range code relationships, a task that
inherently relies on extensive amounts of training data. At the same time,
creating a large, clean dataset for complex program bugs and their
corresponding fixes is non-trivial. We propose a technique to address these
challenges with a new approach for querying and fine-tuning LLMs. The idea is
to use program analysis to limit the LLM's attention mechanism on the portions
of code needed to perform the fix, drastically reducing the amount of required
training data. Concretely, for training and inference, rather than feeding the
entire program to the LLM, we reduce its code to a much shorter snippet that
contains the reported defect together with the necessary context - and use that
instead. Our evaluation shows that this code reduction approach substantially
improves available models such as GPT-4 using few-shot learning, as well as
fine-tuning models. To train and evaluate our system, we created a
comprehensive code fixing dataset by extensively labeling 156 bug patterns
(including 40 security rules), requiring complex interprocedural dataflow to
discover. Our best system with Mixtral-8x7B can remove more than 80% of the
reported defects while exactly matching the human fix in between 10 and 50% of
cases, outperforming baselines based on GPT-3.5 and GPT-4, or based on
window-based models like TFix.
- Abstract(参考訳): 自動プログラム修復の分野は長年にわたって大きな関心を集めてきたが、重大な研究努力にもかかわらず、セキュリティ脆弱性のような複雑なセマンティックなバグにうまく対応できるシステムを作ることは困難である。
この課題を解決するための有望な方向は,さまざまなプログラミングタスクの解決にますます使用される大規模言語モデル(LLM)を活用することだ。
本稿では,LLMによるコード修復課題の解法の有効性について検討する。
大量のトレーニングデータに本質的に依存するタスクである長距離コード関係を学習するモデルを必要とするため、このタスクは困難であることを示す。
同時に、複雑なプログラムバグとその修正のための大規模でクリーンなデータセットの作成も簡単ではない。
本稿では,LLMのクエリと微調整のための新しいアプローチにより,これらの課題に対処する手法を提案する。
プログラム分析を使用して、修正に必要なコードの一部をLCMの注意機構に制限し、必要なトレーニングデータの量を劇的に削減する、という考え方だ。
具体的には、トレーニングと推論のために、LLMにプログラム全体を供給するのではなく、報告された欠陥と必要なコンテキストを含むより短いスニペットにコードを縮小し、代わりにそれを使用します。
評価の結果、このコード削減手法は、GPT-4のような利用可能なモデルを大幅に改善することが示された。
システムのトレーニングと評価のために、我々は156のバグパターン(40のセキュリティルールを含む)を広範囲にラベル付けして包括的なコード修正データセットを作成しました。
Mixtral-8x7Bの最良のシステムは、報告された欠陥の80%以上を取り除き、人間の修正を正確に10から50%のケースでマッチングし、GPT-3.5とGPT-4に基づいてベースラインを上回り、TFixのようなウィンドウベースのモデルでベースラインを上回ります。
関連論文リスト
- Masked Thought: Simply Masking Partial Reasoning Steps Can Improve
Mathematical Reasoning Learning of Language Models [106.59263704052206]
推論タスクでは、小さなエラーでも不正確な結果にカスケードすることができる。
入力の摂動に代えて,外部リソースを回避する手法を開発した。
私たちのトレーニングアプローチは、思考の連鎖内の特定のトークンをランダムに隠蔽します。
論文 参考訳(メタデータ) (2024-03-04T16:21:54Z) - Knowledge-Aware Code Generation with Large Language Models [34.806454393643236]
大規模言語モデル(LLM)は、基本的なプログラミング問題においてよく機能する。
しかし、多様なアルゴリズムとデータ構造スキルの使用を含む複雑なタスクを扱う場合、課題に直面する。
我々はPythonプログラミングのコンテスト問題に適した知識ライブラリを開発し,知識認識コード生成の概念を紹介した。
論文 参考訳(メタデータ) (2024-01-29T08:01:22Z) - MARIO: MAth Reasoning with code Interpreter Output -- A Reproducible
Pipeline [12.186691561822256]
我々は,大規模言語モデル(LLM)の本質的な性質が,数学的推論のモデル化における課題を提起していると仮定する。
本稿では,Pythonコードインタプリタを利用した新しい数学データセットを提案する。
本稿では,数学固有のLLMの微調整のための仮的かつ容易に複製可能なプロトコルを提案する。
論文 参考訳(メタデータ) (2024-01-16T08:08:01Z) - A Novel Approach for Automatic Program Repair using Round-Trip
Translation with Large Language Models [50.86686630756207]
研究によると、ある文の文法的誤りは、それを他の言語に翻訳し、その語を返せば修正できる。
現在の自動プログラム修復(APR)生成モデルは、ソースコードで事前訓練され、修正のために微調整されている。
本稿では,あるプログラミング言語から別のプログラミング言語,あるいは自然言語へのコード変換,そして,その逆といった,微調整ステップをバイパスし,ラウンド・トリップ変換(RTT)を用いる手法を提案する。
論文 参考訳(メタデータ) (2024-01-15T22:36:31Z) - LLM-Assisted Code Cleaning For Training Accurate Code Generators [53.087019724256606]
コードの品質を調査した結果,より構造化され,読みやすくなれば,コード生成性能が向上することがわかった。
私たちは、これらの原則を使って既存のプログラムを変換する、新しいデータクリーニングパイプラインを構築します。
提案手法を2つのアルゴリズムコード生成ベンチマークで評価した結果,微調整のCodeLLaMa-7Bでは,元のデータセットの微調整に比べて最大30%性能が向上していることがわかった。
論文 参考訳(メタデータ) (2023-11-25T02:45:50Z) - Understanding the Effectiveness of Large Language Models in Detecting
Security Vulnerabilities [13.591113697508117]
LLM(Large Language Models)は、コード関連のタスクにおいて顕著なパフォーマンスを示す。
LLMは、既存の静的解析やディープラーニングに基づく脆弱性検出ツールよりもよく機能することを示す。
LLMは、しばしば、コード内の脆弱なデータフローを特定する、信頼できる説明を提供する。
論文 参考訳(メタデータ) (2023-11-16T13:17:20Z) - Simultaneous Machine Translation with Large Language Models [51.470478122113356]
我々は,SimulMTタスクに大規模言語モデルを適用する可能性を検討する。
MUST-Cデータセットと異なる9言語でtextttLlama2-7b-chatモデルを用いて実験を行った。
その結果,LLM は BLEU と LAAL の指標で専用MT モデルよりも優れていた。
論文 参考訳(メタデータ) (2023-09-13T04:06:47Z) - A New Era in Software Security: Towards Self-Healing Software via Large
Language Models and Formal Verification [5.509906684981751]
本稿では,Large Language Models(LLM)とFormal Verification戦略を組み合わせた新しいソリューションを提案する。
提案手法は,脆弱なコードの修復において,最大80%の成功率を達成した。
論文 参考訳(メタデータ) (2023-05-24T05:54:10Z) - Learning to Optimize Permutation Flow Shop Scheduling via Graph-based
Imitation Learning [70.65666982566655]
置換フローショップスケジューリング(PFSS)は製造業で広く使われている。
我々は,より安定かつ正確に収束を加速する専門家主導の模倣学習を通じてモデルを訓練することを提案する。
我々のモデルのネットワークパラメータはわずか37%に減少し、エキスパートソリューションに対する我々のモデルの解のギャップは平均6.8%から1.3%に減少する。
論文 参考訳(メタデータ) (2022-10-31T09:46:26Z) - CodeRL: Mastering Code Generation through Pretrained Models and Deep
Reinforcement Learning [92.36705236706678]
CodeRLは、事前訓練されたLMと深層強化学習によるプログラム合成タスクのための新しいフレームワークである。
推論中、我々は重要なサンプリング戦略を持つ新しい生成手順を導入する。
モデルバックボーンについては,CodeT5のエンコーダデコーダアーキテクチャを拡張し,学習目標を拡張した。
論文 参考訳(メタデータ) (2022-07-05T02:42:15Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。