論文の概要: DeepCode AI Fix: Fixing Security Vulnerabilities with Large Language
Models
- arxiv url: http://arxiv.org/abs/2402.13291v1
- Date: Mon, 19 Feb 2024 18:35:40 GMT
- ステータス: 処理完了
- システム内更新日: 2024-02-22 18:21:47.460933
- 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のようなウィンドウベースのモデルでベースラインを上回ります。
関連論文リスト
- Where's the Bug? Attention Probing for Scalable Fault Localization [18.699014321422023]
本稿では, 直接的位置付けラベルを使わずに, 最先端の故障位置付けを学習するBug Attention Probe(BAP)を提案する。
BAPは計算コストのごく一部で大きなオープンウェイトモデルよりもはるかに効率的である。
論文 参考訳(メタデータ) (2025-02-19T18:59:32Z) - SWE-Fixer: Training Open-Source LLMs for Effective and Efficient GitHub Issue Resolution [56.9361004704428]
大規模言語モデル(LLM)は、様々な複雑なタスクにまたがる顕著な習熟度を示している。
SWE-Fixerは、GitHubの問題を効果的かつ効率的に解決するために設計された、新しいオープンソースフレームワークである。
我々は,SWE-Bench LiteとVerifiedベンチマークに対するアプローチを評価し,オープンソースモデル間の最先端性能を実現する。
論文 参考訳(メタデータ) (2025-01-09T07:54:24Z) - LLM4CVE: Enabling Iterative Automated Vulnerability Repair with Large Language Models [9.946058168276744]
大規模言語モデル(LLM)は、多くのソフトウェア欠陥が自動的にパッチを当てられる可能性を開放した。
実世界のコードで脆弱な関数を高い精度で堅牢に修正する反復パイプラインを提案する。
また,Llama 370Bでは,人間の検証による品質スコアが8.51/10,Llama 370Bでは20%に向上した。
論文 参考訳(メタデータ) (2025-01-07T00:21:42Z) - 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) - To Err is Machine: Vulnerability Detection Challenges LLM Reasoning [8.602355712876815]
脆弱性検出という,困難なコード推論タスクを提示する。
最新のSOTA(State-of-the-art)モデルでは,脆弱性検出評価では54.5%のバランスド精度しか報告されていない。
脆弱性検出を克服するためには、新しいモデル、新しいトレーニング方法、あるいはもっと実行固有の事前トレーニングデータが必要になるかもしれない。
論文 参考訳(メタデータ) (2024-03-25T21:47:36Z) - CodeRL: Mastering Code Generation through Pretrained Models and Deep
Reinforcement Learning [92.36705236706678]
CodeRLは、事前訓練されたLMと深層強化学習によるプログラム合成タスクのための新しいフレームワークである。
推論中、我々は重要なサンプリング戦略を持つ新しい生成手順を導入する。
モデルバックボーンについては,CodeT5のエンコーダデコーダアーキテクチャを拡張し,学習目標を拡張した。
論文 参考訳(メタデータ) (2022-07-05T02:42:15Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。