論文の概要: KNighter: Transforming Static Analysis with LLM-Synthesized Checkers
- arxiv url: http://arxiv.org/abs/2503.09002v1
- Date: Wed, 12 Mar 2025 02:30:19 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-03-13 15:41:00.284823
- Title: KNighter: Transforming Static Analysis with LLM-Synthesized Checkers
- Title(参考訳): KNighter: LLM合成チェッカーを用いた静的解析
- Authors: Chenyuan Yang, Zijie Zhao, Zichen Xie, Haoyu Li, Lingming Zhang,
- Abstract要約: KNighterは、履歴パッチの知識によってガイドされる特殊な静的アナライザを生成する。
これまでKNighterの合成チェッカーは、Linuxカーネルに70の新しいバグ/脆弱性を発見した。
- 参考スコア(独自算出の注目度): 14.02595288424478
- License:
- Abstract: Static analysis is a powerful technique for bug detection in critical systems like operating system kernels. However, designing and implementing static analyzers is challenging, time-consuming, and typically limited to predefined bug patterns. While large language models (LLMs) have shown promise for static analysis, directly applying them to scan large codebases remains impractical due to computational constraints and contextual limitations. We present KNighter, the first approach that unlocks practical LLM-based static analysis by automatically synthesizing static analyzers from historical bug patterns. Rather than using LLMs to directly analyze massive codebases, our key insight is leveraging LLMs to generate specialized static analyzers guided by historical patch knowledge. KNighter implements this vision through a multi-stage synthesis pipeline that validates checker correctness against original patches and employs an automated refinement process to iteratively reduce false positives. Our evaluation on the Linux kernel demonstrates that KNighter generates high-precision checkers capable of detecting diverse bug patterns overlooked by existing human-written analyzers. To date, KNighter-synthesized checkers have discovered 70 new bugs/vulnerabilities in the Linux kernel, with 56 confirmed and 41 already fixed. 11 of these findings have been assigned CVE numbers. This work establishes an entirely new paradigm for scalable, reliable, and traceable LLM-based static analysis for real-world systems via checker synthesis.
- Abstract(参考訳): 静的解析は、オペレーティングシステムカーネルのような重要なシステムにおけるバグ検出の強力な技術である。
しかし、静的アナライザの設計と実装は難しく、時間がかかり、通常は事前に定義されたバグパターンに限られる。
大規模言語モデル(LLM)は静的解析の可能性を示しているが、大きなコードベースをスキャンするために直接適用することは、計算上の制約と文脈上の制限のため、現実的ではない。
KNighterは,従来のバグパターンから静的解析器を自動的に合成することで,実用的なLCMベースの静的解析を解き放つ最初の手法である。
大規模なコードベースを直接解析するためにLLMを使うのではなく、私たちの重要な洞察は、LLMを活用して、歴史的なパッチ知識によってガイドされた特殊な静的アナライザを生成することです。
KNighterはこのビジョンを、オリジナルのパッチに対するチェッカーの正当性を検証する多段階合成パイプラインを通じて実装し、偽陽性を反復的に低減するために自動修正プロセスを採用している。
KNighterは,既存の人書きアナライザが見落としている多様なバグパターンを検出可能な高精度チェッカーを作成した。
これまでにKNighterの合成チェッカーは、Linuxカーネルに70の新しいバグ/脆弱性を発見し、56が確認され、41がすでに修正されている。
このうち11件はCVE番号が割り当てられている。
この研究は、チェッカー合成を通じて現実世界のシステムに対して、スケーラブルで信頼性があり、トレース可能なLLMベースの静的解析のための全く新しいパラダイムを確立する。
関連論文リスト
- LLMSA: A Compositional Neuro-Symbolic Approach to Compilation-free and Customizable Static Analysis [13.993290878789779]
幻覚を減らしたコンパイル不要でカスタマイズ可能な静的解析のための合成ニューロシンボリックアプローチを提案する。
66.27%の精度と78.57%のリコールで、F1の工業的アプローチを0.20ポイント上回っている。
論文 参考訳(メタデータ) (2024-12-18T23:14:59Z) - Exploring Automatic Cryptographic API Misuse Detection in the Era of LLMs [60.32717556756674]
本稿では,暗号誤用の検出において,大規模言語モデルを評価するための体系的評価フレームワークを提案する。
11,940個のLCM生成レポートを詳細に分析したところ、LSMに固有の不安定性は、報告の半数以上が偽陽性になる可能性があることがわかった。
最適化されたアプローチは、従来の手法を超え、確立されたベンチマークでこれまで知られていなかった誤用を明らかにすることで、90%近い顕著な検出率を達成する。
論文 参考訳(メタデータ) (2024-07-23T15:31:26Z) - E&V: Prompting Large Language Models to Perform Static Analysis by
Pseudo-code Execution and Verification [7.745665775992235]
大きな言語モデル(LLM)は、ソフトウェア工学のタスクに新しい機能を提供する。
LLMは擬似コードの実行をシミュレートし、最小限の努力で擬似コードにエンコードされた静的解析を効果的に実行する。
E&Vは、外部のオラクルを必要とせずに擬似コード実行の検証プロセスを含む。
論文 参考訳(メタデータ) (2023-12-13T19:31:00Z) - Leveraging Large Language Models for Automated Proof Synthesis in Rust [6.202137610101939]
大規模言語モデル(LLM)は、コード解析と合成に成功している。
我々は、LLMと静的解析を組み合わせることで、Verusと呼ばれるRustベースの形式検証フレームワークの不変性、アサーション、その他の証明構造を合成する。
プロトタイプでは,検証タスクを複数の小さなタスクに分割し,反復的にGPT-4をクエリし,その出力と軽量な静的解析を組み合わせる。
論文 参考訳(メタデータ) (2023-11-07T05:47:47Z) - ReEval: Automatic Hallucination Evaluation for Retrieval-Augmented Large Language Models via Transferable Adversarial Attacks [91.55895047448249]
本稿では,LLMベースのフレームワークであるReEvalについて述べる。
本稿では、ChatGPTを用いてReEvalを実装し、2つの人気のあるオープンドメインQAデータセットのバリエーションを評価する。
我々の生成したデータは人間可読であり、大きな言語モデルで幻覚を引き起こすのに役立ちます。
論文 参考訳(メタデータ) (2023-10-19T06:37:32Z) - The Hitchhiker's Guide to Program Analysis: A Journey with Large
Language Models [18.026567399243]
大規模言語モデル(LLM)は静的解析に代わる有望な選択肢を提供する。
本稿では,LLM支援静的解析のオープン空間を深く掘り下げる。
LLiftは,静的解析ツールとLLMの両方を併用した,完全に自動化されたフレームワークである。
論文 参考訳(メタデータ) (2023-08-01T02:57:43Z) - LLMs as Factual Reasoners: Insights from Existing Benchmarks and Beyond [135.8013388183257]
そこで我々は,SummEditsと呼ばれる10ドメインのベンチマークで不整合検出ベンチマークを作成し,実装する新しいプロトコルを提案する。
ほとんどのLLMはSummEditsで苦労しており、パフォーマンスはランダムに近い。
最も優れたモデルであるGPT-4は、推定された人間のパフォーマンスよりも8%低い。
論文 参考訳(メタデータ) (2023-05-23T21:50:06Z) - D2A: A Dataset Built for AI-Based Vulnerability Detection Methods Using
Differential Analysis [55.15995704119158]
静的解析ツールによって報告されたラベル問題に対する差分解析に基づくアプローチであるD2Aを提案する。
D2Aを使用して大きなラベル付きデータセットを生成し、脆弱性識別のためのモデルをトレーニングします。
論文 参考訳(メタデータ) (2021-02-16T07:46:53Z) - Exploring Software Naturalness through Neural Language Models [56.1315223210742]
ソフトウェア自然性仮説(Software Naturalness hypothesis)は、自然言語処理で使用されるのと同じ手法でプログラミング言語を理解することができると主張している。
この仮説は,事前学習されたトランスフォーマーベース言語モデルを用いて,コード解析タスクを実行することによって検討する。
論文 参考訳(メタデータ) (2020-06-22T21:56:14Z) - Self-Supervised Log Parsing [59.04636530383049]
大規模ソフトウェアシステムは、大量の半構造化ログレコードを生成する。
既存のアプローチは、ログ特化や手動ルール抽出に依存している。
本稿では,自己教師付き学習モデルを用いて解析タスクをマスク言語モデリングとして定式化するNuLogを提案する。
論文 参考訳(メタデータ) (2020-03-17T19:25:25Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。