論文の概要: WhiteFox: White-Box Compiler Fuzzing Empowered by Large Language Models
- arxiv url: http://arxiv.org/abs/2310.15991v2
- Date: Fri, 30 Aug 2024 01:00:09 GMT
- ステータス: 処理完了
- システム内更新日: 2024-09-02 20:31:28.526814
- Title: WhiteFox: White-Box Compiler Fuzzing Empowered by Large Language Models
- Title(参考訳): WhiteFox:大規模言語モデルを活用したWhite-Boxコンパイラファジィ
- Authors: Chenyuan Yang, Yinlin Deng, Runyu Lu, Jiayi Yao, Jiawei Liu, Reyhaneh Jabbarvand, Lingming Zhang,
- Abstract要約: 提案するWhiteFoxは,ソースコード情報付きLarge Language Modelを用いた,最初のホワイトボックスコンパイラファザである。
WhiteFoxは、高度な最適化を行うための高品質なテストプログラムを生成することができる。
WhiteFoxはDLコンパイラの101のバグを発見した。
- 参考スコア(独自算出の注目度): 11.33856613057612
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Compiler correctness is crucial, as miscompilation can falsify program behaviors, leading to serious consequences. Fuzzing has been studied to uncover compiler defects. However, compiler fuzzing remains challenging: Existing arts focus on black- and grey-box fuzzing, which generates tests without sufficient understanding of internal compiler behaviors. Meanwhile, traditional white-box techniques, like symbolic execution, are computationally inapplicable to the giant codebase of compilers. Recent advances demonstrate that Large Language Models (LLMs) excel in code generation/understanding tasks. Nonetheless, guiding LLMs with compiler source-code information remains a missing piece of research in compiler testing. To this end, we propose WhiteFox, the first white-box compiler fuzzer using LLMs with source-code information to test compiler optimization, with a spotlight on detecting deep logic bugs in the deep learning (DL) compilers. WhiteFox adopts a multi-agent framework: an LLM-based analysis agent examines the low-level optimization source code and produces requirements on the high-level test programs that can trigger the optimization; an LLM-based generation agent produces test programs based on the summarized requirements. Additionally, optimization-triggering tests are used as feedback to enhance the generation on the fly. Our evaluation on the three most popular DL compilers (i.e., PyTorch Inductor, TensorFlow-XLA, and TensorFlow Lite) shows WhiteFox can generate high-quality test programs to exercise deep optimizations, practicing up to 8X more than state-of-the-art fuzzers. WhiteFox has found 101 bugs for the DL compilers, with 92 confirmed as previously unknown and 70 fixed. WhiteFox has been acknowledged by the PyTorch team and is being incorporated into its development workflow. Beyond DL compilers, WhiteFox can also be adapted for compilers in different domains.
- Abstract(参考訳): 誤コンパイルはプログラムの振る舞いを偽装し、重大な結果をもたらすため、コンパイラの正しさは不可欠である。
ファジングはコンパイラの欠陥を明らかにするために研究されている。
既存のアーティファクトは、内部のコンパイラ動作を十分に理解せずにテストを生成するブラックボックスとグレイボックスファジングに重点を置いている。
一方、シンボリック実行のような従来のホワイトボックス技術は、コンパイラの巨大なコードベースに計算的に適用できない。
最近の進歩は、コード生成/理解タスクにおいて、LLM(Large Language Models)が優れていることを示している。
それでも、LLMをコンパイラのソースコード情報で導くことは、コンパイラテストの欠如した研究である。
そこで本研究では,LLMを用いた最初のホワイトボックスコンパイラファザであるWhiteFoxを提案する。
マルチエージェントフレームワークを採用している: LLMベースの分析エージェントは、低レベル最適化ソースコードを調べ、最適化をトリガーできる高レベルテストプログラムの要求を生成する。
さらに、最適化トリガテストは、オンザフライでの生成を改善するフィードバックとして使用される。
最も人気のある3つのDLコンパイラ(PyTorchインダクタ、TensorFlow-XLA、TensorFlow Lite)に対する我々の評価によると、WhiteFoxは最先端のファジィよりも最大8倍高いパフォーマンスで、深い最適化を実行するための高品質なテストプログラムを生成することができる。
WhiteFoxはDLコンパイラの101のバグを発見した。
WhiteFoxはPyTorchチームによって承認され、開発ワークフローに組み込まれている。
DLコンパイラ以外にも、WhiteFoxは異なるドメインのコンパイラにも適用できる。
関連論文リスト
- CRUXEval-X: A Benchmark for Multilingual Code Reasoning, Understanding and Execution [50.7413285637879]
CRUXEVAL-Xコード推論ベンチマークには19のプログラミング言語が含まれている。
各言語に対して少なくとも600人の被験者で構成され、合計19Kのコンテンツ一貫性テストがある。
Pythonでのみトレーニングされたモデルでさえ、他の言語で34.4%のPass@1を達成することができる。
論文 参考訳(メタデータ) (2024-08-23T11:43:00Z) - KGym: A Platform and Dataset to Benchmark Large Language Models on Linux Kernel Crash Resolution [59.20933707301566]
大規模言語モデル(LLM)は、ますます現実的なソフトウェア工学(SE)タスクにおいて一貫して改善されている。
現実世界のソフトウェアスタックでは、Linuxカーネルのような基本的なシステムソフトウェアの開発にSEの取り組みが費やされています。
このような大規模システムレベルのソフトウェアを開発する際にMLモデルが有用かどうかを評価するため、kGymとkBenchを紹介する。
論文 参考訳(メタデータ) (2024-07-02T21:44:22Z) - LLM-Vectorizer: LLM-based Verified Loop Vectorizer [12.048697450464935]
大規模言語モデル(LLM)は、個々の配列要素を処理するスカラープログラムからベクトル化されたコードを生成することができる。
LLMは1.1xから9.4xまでのランタイムスピードアップで高性能なベクトルコードを生成することができる。
我々のアプローチでは、TSVCベンチマークデータセットで正しいベクター化の38.2%を検証できる。
論文 参考訳(メタデータ) (2024-06-07T07:04:26Z) - IRFuzzer: Specialized Fuzzing for LLVM Backend Code Generation [3.7297002723174235]
IRFuzzerを実装し,LLVMコンパイラバックエンドのファジィ化の有効性について検討する。
IRFuzzerのミューテータは、構造化制御フロー、ベクトルタイプ、関数定義を含む幅広いLLVM IR入力を生成することができる。
IRFuzzer は 29 の成熟した LLVM バックエンドターゲットにファジィをファジィ化することで,既存のファジィよりも有効であることを示す。
論文 参考訳(メタデータ) (2024-02-07T21:02:33Z) - DebugBench: Evaluating Debugging Capability of Large Language Models [80.73121177868357]
DebugBench - LLM(Large Language Models)のベンチマーク。
C++、Java、Pythonの4つの主要なバグカテゴリと18のマイナータイプをカバーする。
ゼロショットシナリオで2つの商用および4つのオープンソースモデルを評価する。
論文 参考訳(メタデータ) (2024-01-09T15:46:38Z) - A Survey of Modern Compiler Fuzzing [0.0]
この調査は、コンパイラの欠陥を理解し、対処するための研究成果の概要を提供する。
研究者は、その症状や根本原因など、コンパイラーのバグに関する調査と専門知識をカバーしている。
さらに、テストプログラムの構築やテストオラクルの設計など、ファジング技術を設計する研究者の取り組みについても取り上げている。
論文 参考訳(メタデータ) (2023-06-12T06:03:51Z) - LeTI: Learning to Generate from Textual Interactions [60.425769582343506]
本稿では,テキストインタラクション(LETI)から学習するLMの可能性を,バイナリラベルによる正当性をチェックするだけでなく,テキストフィードバックを通じて出力中のエラーをピンポイントし,説明する。
私たちの焦点はコード生成タスクであり、そこではモデルが自然言語命令に基づいてコードを生成する。
LETIは、目的のLMを用いて、自然言語命令、LM生成プログラム、テキストフィードバックの結合に基づいて、モデルを反復的に微調整する。
論文 参考訳(メタデータ) (2023-05-17T15:53:31Z) - LEVER: Learning to Verify Language-to-Code Generation with Execution [64.36459105535]
本稿では,プログラムの実行結果の検証を学習することで,言語からコードへの生成を改善するシンプルな手法であるLEVERを提案する。
具体的には、LLMからサンプリングされたプログラムが、自然言語入力、プログラム自体とその実行結果に基づいて正しいか否かを判定するために、検証者を訓練する。
LEVER はベースコード LLMs (4.6% から 10.9% まで) を継続的に改善し、それらすべてに対して新しい最先端の結果を得る。
論文 参考訳(メタデータ) (2023-02-16T18:23:22Z) - Operator Fusion in XLA: Analysis and Evaluation [1.2183405753834562]
XLAは最も一般的な機械学習(ML)コンパイラである。
XLAにおける核融合決定が実際どのように異なるかを示す。
最大10.56倍の高速化が可能なXLAカーネル融合戦略を実装した。
論文 参考訳(メタデータ) (2023-01-30T17:03:33Z) - Fault-Aware Neural Code Rankers [64.41888054066861]
サンプルプログラムの正しさを予測できる故障認識型ニューラルネットワークローダを提案する。
我々のフォールト・アウェア・ローダは、様々なコード生成モデルのpass@1精度を大幅に向上させることができる。
論文 参考訳(メタデータ) (2022-06-04T22:01:05Z) - Coverage-Guided Tensor Compiler Fuzzing with Joint IR-Pass Mutation [20.519361342905775]
広範に使われているTVMテンソルコンパイラのためのファジィ手法であるTzerを提案する。
以上の結果から,Tzerはテンソルコンパイラテストにおいて,既存のファジリング技術よりも大幅に優れていることがわかった。
これまでTzerは、TVMの49の既知のバグを検出し、37のバグが確認され、25のバグが修正された。
論文 参考訳(メタデータ) (2022-02-21T01:48:11Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。