論文の概要: A Code Knowledge Graph-Enhanced System for LLM-Based Fuzz Driver Generation
- arxiv url: http://arxiv.org/abs/2411.11532v1
- Date: Mon, 18 Nov 2024 12:41:16 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-11-19 14:35:43.608518
- Title: A Code Knowledge Graph-Enhanced System for LLM-Based Fuzz Driver Generation
- Title(参考訳): LLMに基づくファズドライバ生成のためのコード知識グラフ強化システム
- Authors: Hanxiang Xu, Wei Ma, Ting Zhou, Yanjie Zhao, Kai Chen, Qiang Hu, Yang Liu, Haoyu Wang,
- Abstract要約: ファジドライバ生成プロセスを自動化するために,コード知識グラフをインテリジェントエージェントと統合する新しいシステムであるCodeGraphGPTを提案する。
ファズドライバ生成をコード生成タスクとしてフレーミングすることで、CodeGraphGPTはプログラム分析を活用して、コードリポジトリの知識グラフを構築する。
我々は8つのオープンソースプロジェクトでCodeGraphGPTを評価し、最先端の手法と比較してコードカバレッジが平均8.73%向上した。
- 参考スコア(独自算出の注目度): 29.490817477791357
- License:
- Abstract: The rapid development of large language models (LLMs) with advanced programming capabilities has paved the way for innovative approaches in software testing. Fuzz testing, a cornerstone for improving software reliability and detecting vulnerabilities, often relies on manually written fuzz drivers, limiting scalability and efficiency. To address this challenge, we propose CodeGraphGPT, a novel system that integrates code knowledge graphs with an LLM-powered intelligent agent to automate the fuzz driver generation process. By framing fuzz driver creation as a code generation task, CodeGraphGPT leverages program analysis to construct a knowledge graph of code repositories, where nodes represent code entities, such as functions or files, and edges capture their relationships. This enables the system to generate tailored fuzz drivers and input seeds, resolve compilation errors, and analyze crash reports, all while adapting to specific API usage scenarios. Additionally, querying the knowledge graph helps identify precise testing targets and contextualize the purpose of each fuzz driver within the fuzzing loop. We evaluated CodeGraphGPT on eight open-source software projects, achieving an average improvement of 8.73\% in code coverage compared to state-of-the-art methods. Moreover, it reduced the manual workload in crash case analysis by 84.4\% and identified 11 real-world bugs, including nine previously unreported ones. This work highlights how integrating LLMs with code knowledge graphs enhances fuzz driver generation, offering an efficient solution for vulnerability detection and software quality improvement.
- Abstract(参考訳): 高度なプログラミング能力を持つ大規模言語モデル(LLM)の急速な開発は、ソフトウェアテストにおける革新的なアプローチの道を開いた。
ソフトウェア信頼性を改善し、脆弱性を検出するための基盤であるファズテストは、しばしば手書きのファズドライバに依存し、スケーラビリティと効率を制限している。
この課題に対処するために,コードナレッジグラフとLCMによるインテリジェントエージェントを統合し,ファジドライバ生成プロセスを自動化する新しいシステムであるCodeGraphGPTを提案する。
ファズドライバの作成をコード生成タスクとしてフレーミングすることで、CodeGraphGPTはプログラム分析を活用してコードリポジトリの知識グラフを構築する。
これにより、特定のAPI使用シナリオに適応しながら、調整済みのファズドライバと入力シードを生成し、コンパイルエラーを解決し、クラッシュレポートを分析することが可能になる。
さらに、知識グラフのクエリは、正確なテストターゲットを特定し、ファジィループ内の各ファジィドライバの目的をコンテキスト化するのに役立ちます。
我々は8つのオープンソースプロジェクトでCodeGraphGPTを評価し、最先端の手法と比較してコードカバレッジが平均8.73倍改善した。
さらに、クラッシュケース分析における手動のワークロードを84.4\%削減し、以前に報告されていない9つのバグを含む11の現実世界のバグを特定した。
この研究は、LLMとコードナレッジグラフの統合によってファズドライバの生成が向上し、脆弱性検出とソフトウェア品質改善のための効率的なソリューションを提供する方法を強調している。
関連論文リスト
- Your Fix Is My Exploit: Enabling Comprehensive DL Library API Fuzzing with Large Language Models [49.214291813478695]
AIアプリケーションで広く使用されているディープラーニング(DL)ライブラリは、オーバーフローやバッファフリーエラーなどの脆弱性を含むことが多い。
従来のファジィングはDLライブラリの複雑さとAPIの多様性に悩まされている。
DLライブラリのためのLLM駆動ファジィ手法であるDFUZZを提案する。
論文 参考訳(メタデータ) (2025-01-08T07:07:22Z) - FuzzDistill: Intelligent Fuzzing Target Selection using Compile-Time Analysis and Machine Learning [0.0]
FuzzDistillは、コンパイル時のデータと機械学習を利用してファジィングターゲットを洗練するアプローチです。
実世界のソフトウェアで実施した実験を通じて,私のアプローチの有効性を実証し,テスト時間の大幅な短縮を実証した。
論文 参考訳(メタデータ) (2024-12-11T04:55:58Z) - FuzzCoder: Byte-level Fuzzing Test via Large Language Model [46.18191648883695]
我々は,攻撃を成功させることで,入力ファイルのパターンを学習するために,微調整された大言語モデル(FuzzCoder)を採用することを提案する。
FuzzCoderは、プログラムの異常な動作を引き起こすために、入力ファイル内の突然変異位置と戦略位置を予測することができる。
論文 参考訳(メタデータ) (2024-09-03T14:40:31Z) - Prompt Fuzzing for Fuzz Driver Generation [6.238058387665971]
本稿では,プロンプトファジングのためのカバーガイドファジングであるPromptFuzzを提案する。
未発見のライブラリコードを探索するためにファズドライバを反復的に生成する。
PromptFuzzはOSS-FuzzとHopperの2倍のブランチカバレッジを達成した。
論文 参考訳(メタデータ) (2023-12-29T16:43:51Z) - Zero-Shot Detection of Machine-Generated Codes [83.0342513054389]
本研究は,LLMの生成したコードを検出するためのトレーニング不要な手法を提案する。
既存のトレーニングベースまたはゼロショットテキスト検出装置は、コード検出に効果がないことがわかった。
本手法は,リビジョン攻撃に対する堅牢性を示し,Javaコードによく適応する。
論文 参考訳(メタデータ) (2023-10-08T10:08:21Z) - HOPPER: Interpretative Fuzzing for Libraries [6.36596812288503]
HOPPERはドメイン知識を必要とせずにライブラリをファズできる。
ライブラリファジィングの問題をインタプリタファジィングの問題に変換する。
論文 参考訳(メタデータ) (2023-09-07T06:11:18Z) - How Effective Are They? Exploring Large Language Model Based Fuzz Driver Generation [31.77886516971502]
本研究は,LLMを用いてファズドライバを効果的に生成する上で重要な課題を対象とした,最初の詳細な研究である。
我々の研究は、736,430個のファジィドライバの評価を行い、トークンコストは0.85億ドル(8000ドル以上)だった。
我々の洞察はOSS-Fuzz-Genプロジェクトを改善するために実装され、業界におけるファズドライバの実践的生成を促進しました。
論文 参考訳(メタデータ) (2023-07-24T01:49:05Z) - Fault-Aware Neural Code Rankers [64.41888054066861]
サンプルプログラムの正しさを予測できる故障認識型ニューラルネットワークローダを提案する。
我々のフォールト・アウェア・ローダは、様々なコード生成モデルのpass@1精度を大幅に向上させることができる。
論文 参考訳(メタデータ) (2022-06-04T22:01:05Z) - DAE : Discriminatory Auto-Encoder for multivariate time-series anomaly
detection in air transportation [68.8204255655161]
識別オートエンコーダ(DAE)と呼ばれる新しい異常検出モデルを提案する。
通常のLSTMベースのオートエンコーダのベースラインを使用するが、いくつかのデコーダがあり、それぞれ特定の飛行フェーズのデータを取得する。
その結果,DAEは精度と検出速度の両方で良好な結果が得られることがわかった。
論文 参考訳(メタデータ) (2021-09-08T14:07:55Z) - Break-It-Fix-It: Unsupervised Learning for Program Repair [90.55497679266442]
我々は2つの重要なアイデアを持つ新しいトレーニング手法であるBreak-It-Fix-It (BIFI)を提案する。
批判者は、実際の悪い入力でフィクスダーの出力をチェックし、トレーニングデータに良い(固定された)出力を追加する。
これらのアイデアに基づいて、よりペア化されたデータを生成するために、ブレーカとフィクスチャを同時に使用しながら、繰り返し更新する。
BIFIは既存のメソッドより優れており、GitHub-Pythonで90.5%、DeepFixで71.7%の修正精度がある。
論文 参考訳(メタデータ) (2021-06-11T20:31:04Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。