論文の概要: A New Era in Software Security: Towards Self-Healing Software via Large
Language Models and Formal Verification
- arxiv url: http://arxiv.org/abs/2305.14752v1
- Date: Wed, 24 May 2023 05:54:10 GMT
- ステータス: 処理完了
- システム内更新日: 2023-05-25 19:20:14.813770
- Title: A New Era in Software Security: Towards Self-Healing Software via Large
Language Models and Formal Verification
- Title(参考訳): ソフトウェアセキュリティの新しい時代--大規模言語モデルと形式的検証による自己修復ソフトウェアへ
- Authors: Yiannis Charalambous, Norbert Tihanyi, Ridhi Jain, Youcheng Sun,
Mohamed Amine Ferrag, Lucas C. Cordeiro
- Abstract要約: 本稿では,Large Language Models(LLM)とFormal Verification戦略を組み合わせた新しいソリューションを提案する。
提案手法は,脆弱なコードの修復において,最大80%の成功率を達成した。
- 参考スコア(独自算出の注目度): 5.509906684981751
- License: http://creativecommons.org/licenses/by-nc-nd/4.0/
- Abstract: In this paper we present a novel solution that combines the capabilities of
Large Language Models (LLMs) with Formal Verification strategies to verify and
automatically repair software vulnerabilities. Initially, we employ Bounded
Model Checking (BMC) to locate the software vulnerability and derive a
counterexample. The counterexample provides evidence that the system behaves
incorrectly or contains a vulnerability. The counterexample that has been
detected, along with the source code, are provided to the LLM engine. Our
approach involves establishing a specialized prompt language for conducting
code debugging and generation to understand the vulnerability's root cause and
repair the code. Finally, we use BMC to verify the corrected version of the
code generated by the LLM. As a proof of concept, we create ESBMC-AI based on
the Efficient SMT-based Context-Bounded Model Checker (ESBMC) and a pre-trained
Transformer model, specifically gpt-3.5-turbo, to detect and fix errors in C
programs. Our experimentation involved generating a dataset comprising 1000 C
code samples, each consisting of 20 to 50 lines of code. Notably, our proposed
method achieved an impressive success rate of up to 80% in repairing vulnerable
code encompassing buffer overflow and pointer dereference failures. We assert
that this automated approach can effectively incorporate into the software
development lifecycle's continuous integration and deployment (CI/CD) process.
- Abstract(参考訳): 本稿では,大規模言語モデル(llms)の機能と,ソフトウェア脆弱性の検証と自動修復のための形式的検証戦略を組み合わせた新しいソリューションを提案する。
最初は、境界モデルチェック(BMC)を使用して、ソフトウェア脆弱性を特定し、反例を導出します。
逆例は、システムが誤って振る舞う、または脆弱性を含むという証拠を提供する。
検出された逆例とソースコードはllmエンジンに提供される。
当社のアプローチでは、脆弱性の根本原因を理解してコードを修復するために、コードのデバッグと生成を行うための特別なプロンプト言語を確立します。
最後に、BMCを用いて、LLMによって生成されたコードの修正版を検証する。
概念実証として、効率的なSMTベースのコンテキスト境界モデルチェッカー(ESBMC)と事前訓練されたトランスフォーマーモデル(特にgpt-3.5-turbo)に基づいてESBMC-AIを作成し、Cプログラムのエラーを検出し、修正する。
実験では、1000のcコードサンプルからなるデータセットを作成し、それぞれ20行から50行のコードからなる。
特に,提案手法はバッファオーバーフローやポインタ参照障害を含む脆弱性コードの修復において,最大80%の成功率を達成した。
この自動化アプローチは、ソフトウェア開発ライフサイクルの継続的インテグレーションとデプロイメント(ci/cd)プロセスに効果的に組み込むことができると断言します。
関連論文リスト
- Do Neutral Prompts Produce Insecure Code? FormAI-v2 Dataset: Labelling Vulnerabilities in Code Generated by Large Language Models [3.4887856546295333]
この研究は、最先端の大規模言語モデル(LLM)の比較分析を提供する。
中立なゼロショットプロンプトを使って単純なCプログラムを書く際に、脆弱性が発生する可能性を分析する。
論文 参考訳(メタデータ) (2024-04-29T01:24:14Z) - A Comprehensive Study of the Capabilities of Large Language Models for Vulnerability Detection [9.422811525274675]
大規模言語モデル(LLM)は、コード生成やその他のソフトウェアエンジニアリングタスクに大きな可能性を実証しています。
脆弱性検出は、ソフトウェアシステムのセキュリティ、完全性、信頼性を維持する上で非常に重要である。
最近の研究は、ジェネリックプロンプト技術を用いた脆弱性検出にLLMを適用しているが、このタスクの能力とそれらが犯すエラーの種類は未だ不明である。
論文 参考訳(メタデータ) (2024-03-25T21:47:36Z) - DeepCode AI Fix: Fixing Security Vulnerabilities with Large Language
Models [3.1690235522182104]
大規模言語モデル(LLM)は、様々なプログラミングタスクの解決にますます使われている。
長距離コード関係を学習するモデルを必要とするため,タスクは困難であることを示す。
本稿では,LLMのクエリと微調整のための新しいアプローチにより,これらの課題に対処する手法を提案する。
論文 参考訳(メタデータ) (2024-02-19T18:35:40Z) - A Novel Approach for Automatic Program Repair using Round-Trip
Translation with Large Language Models [50.86686630756207]
研究によると、ある文の文法的誤りは、それを他の言語に翻訳し、その語を返せば修正できる。
現在の自動プログラム修復(APR)生成モデルは、ソースコードで事前訓練され、修正のために微調整されている。
本稿では,あるプログラミング言語から別のプログラミング言語,あるいは自然言語へのコード変換,そして,その逆といった,微調整ステップをバイパスし,ラウンド・トリップ変換(RTT)を用いる手法を提案する。
論文 参考訳(メタデータ) (2024-01-15T22:36:31Z) - Zero-Shot Detection of Machine-Generated Codes [83.0342513054389]
本研究は,LLMの生成したコードを検出するためのトレーニング不要な手法を提案する。
既存のトレーニングベースまたはゼロショットテキスト検出装置は、コード検出に効果がないことがわかった。
本手法は,リビジョン攻撃に対する堅牢性を示し,Javaコードによく適応する。
論文 参考訳(メタデータ) (2023-10-08T10:08:21Z) - RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic
Program Repair [75.40584530380589]
新たな検索型パッチ生成フレームワーク(RAP-Gen)を提案する。
RAP-Gen 以前のバグ修正ペアのリストから取得した関連する修正パターンを明示的に活用する。
RAP-GenをJavaScriptのTFixベンチマークとJavaのCode RefinementとDefects4Jベンチマークの2つのプログラミング言語で評価する。
論文 参考訳(メタデータ) (2023-09-12T08:52:56Z) - The FormAI Dataset: Generative AI in Software Security Through the Lens of Formal Verification [3.2925005312612323]
本稿では,脆弱性分類を伴う112,000のAI生成Cプログラムの大規模なコレクションであるFormAIデータセットを提案する。
すべてのプログラムには、型、行番号、脆弱な関数名を示すソースコード内の脆弱性がラベル付けされている。
ソースコードは112,000のプログラムで利用でき、各プログラムで検出された脆弱性を含む別のファイルが付属する。
論文 参考訳(メタデータ) (2023-07-05T10:39:58Z) - CodeLMSec Benchmark: Systematically Evaluating and Finding Security
Vulnerabilities in Black-Box Code Language Models [58.27254444280376]
自動コード生成のための大規模言語モデル(LLM)は、いくつかのプログラミングタスクにおいてブレークスルーを達成した。
これらのモデルのトレーニングデータは、通常、インターネット(例えばオープンソースのリポジトリから)から収集され、障害やセキュリティ上の脆弱性を含む可能性がある。
この不衛生なトレーニングデータは、言語モデルにこれらの脆弱性を学習させ、コード生成手順中にそれを伝播させる可能性がある。
論文 参考訳(メタデータ) (2023-02-08T11:54:07Z) - Unlearnable Clusters: Towards Label-agnostic Unlearnable Examples [128.25509832644025]
インターネット上の視覚的プライバシー漏洩に対して、未学習の例(UE)を開発することへの関心が高まっている。
UEは、目に見えないが学習不可能なノイズを付加したトレーニングサンプルであり、機械学習モデルの不正なトレーニングを防ぐことができる。
本稿では,無学習クラスタ (UC) と呼ばれる新しい手法を提案する。
論文 参考訳(メタデータ) (2022-12-31T04:26:25Z) - CodeRL: Mastering Code Generation through Pretrained Models and Deep
Reinforcement Learning [92.36705236706678]
CodeRLは、事前訓練されたLMと深層強化学習によるプログラム合成タスクのための新しいフレームワークである。
推論中、我々は重要なサンプリング戦略を持つ新しい生成手順を導入する。
モデルバックボーンについては,CodeT5のエンコーダデコーダアーキテクチャを拡張し,学習目標を拡張した。
論文 参考訳(メタデータ) (2022-07-05T02:42:15Z) - Multi-context Attention Fusion Neural Network for Software Vulnerability
Identification [4.05739885420409]
ソースコードのセキュリティ脆弱性の共通カテゴリのいくつかを効率的に検出することを学ぶディープラーニングモデルを提案する。
モデルは、学習可能なパラメータの少ないコードセマンティクスの正確な理解を構築します。
提案したAIは、ベンチマークされたNIST SARDデータセットから特定のCWEに対して98.40%のF1スコアを達成する。
論文 参考訳(メタデータ) (2021-04-19T11:50:36Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。