論文の概要: 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のようなウィンドウベースのモデルでベースラインを上回ります。
関連論文リスト
- Improving LLM Reasoning through Scaling Inference Computation with Collaborative Verification [52.095460362197336]
大規模言語モデル(LLM)は一貫性と正確な推論に苦しむ。
LLMは、主に正しいソリューションに基づいて訓練され、エラーを検出して学習する能力を減らす。
本稿では,CoT(Chain-of-Thought)とPoT(Program-of-Thought)を組み合わせた新しい協調手法を提案する。
論文 参考訳(メタデータ) (2024-10-05T05:21:48Z) - Enhancing Fault Localization Through Ordered Code Analysis with LLM Agents and Self-Reflection [8.22737389683156]
大規模言語モデル(LLM)は、コード理解と推論を強化することによって、フォールトローカライゼーションの有望な改善を提供する。
LLM4FL は,SBFL ランキングと配当戦略を統合した新しい LLM4FL の故障局所化手法である。
以上の結果から,LLM4FLはTop-1の精度でAutoFLを19.27%上回り,DeepFLやGraceといった最先端の監視技術を上回っていることがわかった。
論文 参考訳(メタデータ) (2024-09-20T16:47:34Z) - An Empirical Study on Self-correcting Large Language Models for Data Science Code Generation [1.335664823620186]
大規模言語モデル(LLM)は最近、ソフトウェア工学のタスクに多くの応用を進歩させた。
CoT-SelfEvolveは、自己修正プロセスを通じて、反復的かつ自動的にコードを洗練する。
論文 参考訳(メタデータ) (2024-08-28T09:19:09Z) - SIaM: Self-Improving Code-Assisted Mathematical Reasoning of Large Language Models [54.78329741186446]
本稿では,コードに基づく批判モデルを用いて,質問コードデータ構築,品質管理,補完的評価などのステップをガイドする新しいパラダイムを提案する。
英語と中国語におけるドメイン内ベンチマークとドメイン外ベンチマークの両方の実験は、提案したパラダイムの有効性を実証している。
論文 参考訳(メタデータ) (2024-08-28T06:33:03Z) - What's Wrong with Your Code Generated by Large Language Models? An Extensive Study [80.18342600996601]
大規模言語モデル(LLM)は、標準解に比べて短いがより複雑なコードを生成する。
3つのカテゴリと12のサブカテゴリを含む誤ったコードに対するバグの分類を開発し、一般的なバグタイプに対する根本原因を分析する。
そこで本研究では,LLMがバグタイプやコンパイラフィードバックに基づいて生成したコードを批判し,修正することのできる,自己批判を導入した新たな学習自由反復手法を提案する。
論文 参考訳(メタデータ) (2024-07-08T17:27:17Z) - BigCodeBench: Benchmarking Code Generation with Diverse Function Calls and Complex Instructions [72.56339136017759]
BigCodeBenchは、大規模言語モデル(LLM)に対して、139のライブラリと7つのドメインから1140のきめ細かいタスクに対して、複数の関数呼び出しをツールとして呼び出すためのベンチマークである。
評価の結果,LLMは機能コールを正確に使用するための複雑な指示に従うことができず,スコアは最大60%,人的性能は97%と極めて低いことがわかった。
そこで本研究では,BigCodeBench-Instructという自然言語指向の変種を提案する。
論文 参考訳(メタデータ) (2024-06-22T15:52:04Z) - Validating LLM-Generated Programs with Metamorphic Prompt Testing [8.785973653167112]
大規模言語モデル(LLM)は、ソフトウェア開発ライフサイクルにますます統合されています。
本稿では,これらの課題に対処するため,メタモルフィック・プロンプト・テストと呼ばれる新しい手法を提案する。
我々のHumanEvalに対する評価は,GPT-4が生成する誤プログラムの75%を,偽陽性率8.6%で検出できることを示す。
論文 参考訳(メタデータ) (2024-06-11T00:40:17Z) - A Comprehensive Study of the Capabilities of Large Language Models for Vulnerability Detection [9.422811525274675]
大規模言語モデル(LLM)は、コード生成やその他のソフトウェアエンジニアリングタスクに大きな可能性を実証しています。
脆弱性検出は、ソフトウェアシステムのセキュリティ、完全性、信頼性を維持する上で非常に重要である。
最近の研究は、ジェネリックプロンプト技術を用いた脆弱性検出にLLMを適用しているが、このタスクの能力とそれらが犯すエラーの種類は未だ不明である。
論文 参考訳(メタデータ) (2024-03-25T21:47:36Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。