論文の概要: IRFuzzer: Specialized Fuzzing for LLVM Backend Code Generation
- arxiv url: http://arxiv.org/abs/2402.05256v1
- Date: Wed, 7 Feb 2024 21:02:33 GMT
- ステータス: 処理完了
- システム内更新日: 2024-02-09 17:21:13.593762
- Title: IRFuzzer: Specialized Fuzzing for LLVM Backend Code Generation
- Title(参考訳): IRFuzzer:LLVMバックエンドコード生成のためのファズリング
- Authors: Yuyang Rong, Zhanghan Yu, Zhenkai Weng, Stephen Neuendorffer, Hao Chen
- Abstract要約: IRFuzzerを実装し,LLVMコンパイラバックエンドのファジィ化の有効性について検討する。
IRFuzzerのミューテータは、構造化制御フロー、ベクトルタイプ、関数定義を含む幅広いLLVM IR入力を生成することができる。
IRFuzzer は 29 の成熟した LLVM バックエンドターゲットにファジィをファジィ化することで,既存のファジィよりも有効であることを示す。
- 参考スコア(独自算出の注目度): 3.7297002723174235
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Modern compilers, such as LLVM, are complex pieces of software. Due to their
complexity, manual testing is unlikely to suffice, yet formal verification is
difficult to scale. End-to-end fuzzing can be used, but it has difficulties in
achieving high coverage of some components of LLVM.
In this paper, we implement IRFuzzer to investigate the effectiveness of
specialized fuzzing of the LLVM compiler backend. We focus on two approaches to
improve the fuzzer: guaranteed input validity using constrained mutations and
improved feedback quality. The mutator in IRFuzzer is capable of generating a
wide range of LLVM IR inputs, including structured control flow, vector types,
and function definitions. The system instruments coding patterns in the
compiler to monitor the execution status of instruction selection. The
instrumentation not only provides a new coverage feedback called matcher table
coverage, but also provides an architecture specific guidance to the mutator.
We show that IRFuzzer is more effective than existing fuzzers by fuzzing on
29 mature LLVM backend targets. In the process, we reported 74 confirmed new
bugs in LLVM upstream, out of which 49 have been fixed, five have been back
ported to LLVM 15, showing that specialized fuzzing provides useful and
actionable insights to LLVM developers.
- Abstract(参考訳): LLVMのような現代のコンパイラは複雑なソフトウェアである。
その複雑さのため、手動テストは不十分であるが、正式な検証はスケーリングが難しい。
エンドツーエンドファジィは使用できるが、LLVMのいくつかのコンポーネントを高いカバレッジでカバーすることは困難である。
本稿では,LLVM コンパイラバックエンドのファジィ化の有効性を検討するために IRFuzzer を実装した。
制約付き変異を用いた入力妥当性の保証とフィードバック品質の向上の2つのアプローチに注目した。
IRFuzzerのミュータは、構造化制御フロー、ベクトルタイプ、関数定義を含む幅広いLLVM IR入力を生成することができる。
システムは、命令選択の実行状態を監視するためにコンパイラのコーディングパターンを計測する。
インスツルメンテーションは、Matcherテーブルカバレッジと呼ばれる新しいカバレッジフィードバックを提供するだけでなく、ミュータへのアーキテクチャ固有のガイダンスも提供する。
IRFuzzer は 29 の成熟した LLVM バックエンドターゲットにファジリングすることで既存のファジィよりも有効であることを示す。
このプロセスで、74件の新しいバグがllvmアップストリームで確認されたことを報告した。そのうち49件が修正され、5件がllvm 15に移植された。
関連論文リスト
- DebugBench: Evaluating Debugging Capability of Large Language Models [89.13051256657995]
DebugBench - LLM(Large Language Models)のベンチマーク。
C++、Java、Pythonの4つの主要なバグカテゴリと18のマイナータイプをカバーする。
ゼロショットシナリオで2つの商用モデルと3つのオープンソースモデルを評価する。
論文 参考訳(メタデータ) (2024-01-09T15:46:38Z) - ML-Bench: Large Language Models Leverage Open-source Libraries for
Machine Learning Tasks [75.12666425091702]
大規模な言語モデルは、コード生成ベンチマークで有望なパフォーマンスを示している。
この研究は、LLMがオープンソースのライブラリを使用して機械学習タスクを終了する、新たな評価設定を提案することを目的としている。
論文 参考訳(メタデータ) (2023-11-16T12:03:21Z) - Leveraging Large Language Models for Automated Proof Synthesis in Rust [6.202137610101939]
大規模言語モデル(LLM)は、コード解析と合成に成功している。
我々は、LLMと静的解析を組み合わせることで、Verusと呼ばれるRustベースの形式検証フレームワークの不変性、アサーション、その他の証明構造を合成する。
プロトタイプでは,検証タスクを複数の小さなタスクに分割し,反復的にGPT-4をクエリし,その出力と軽量な静的解析を組み合わせる。
論文 参考訳(メタデータ) (2023-11-07T05:47:47Z) - White-box Compiler Fuzzing Empowered by Large Language Models [11.826920511314336]
提案するWhiteFoxは,ソースコード情報付きLarge Language Modelを用いた,最初のホワイトボックスコンパイラファザである。
WhiteFoxは複雑な条件を必要とする深い最適化を実行するために高品質なテストを生成することができる。
現在までに、WhiteFoxは96のバグを発見し、80が以前不明と確認され、51がすでに修正されている。
論文 参考訳(メタデータ) (2023-10-24T16:39:06Z) - Function Vectors in Large Language Models [45.267194267587435]
自己回帰変換言語モデル(LM)内のベクトルとして入力出力関数を表す単純な神経機構の存在を報告する。
多様なコンテキスト内学習(ICL)タスクの因果媒介分析を用いて、少数の注意ヘッドがデモされたタスクのコンパクトな表現を伝達し、関数ベクトル(FV)と呼ぶ。
論文 参考訳(メタデータ) (2023-10-23T17:55:24Z) - Online Clustered Codebook [100.1650001618827]
オンラインコードブック学習のための簡単な代替手法であるClustering VQ-VAE(CVQ-VAE)を提案する。
弊社のアプローチでは、コード化された機能をアンカーとして選択し、デッドのコードベクタを更新すると同時に、元の損失によって生存しているコードブックを最適化する。
私たちのCVQ-VAEは、ほんの数行のコードで既存のモデルに簡単に統合できます。
論文 参考訳(メタデータ) (2023-07-27T18:31:04Z) - LLMDet: A Third Party Large Language Models Generated Text Detection
Tool [119.0952092533317]
大規模言語モデル(LLM)は、高品質な人間によるテキストに非常に近い。
既存の検出ツールは、機械が生成したテキストと人間によるテキストしか区別できない。
本稿では,モデル固有,セキュア,効率的,拡張可能な検出ツールであるLLMDetを提案する。
論文 参考訳(メタデータ) (2023-05-24T10:45:16Z) - ML-driven Hardware Cost Model for MLIR [1.2987894327817158]
高レベルMLIRのための機械学習に基づくコストモデルを開発した。
MLIRをラ・NLPモデルのテキスト入力として考えることにより、現代のNLP研究からよく知られた技術を適用することができる。
これらのモデルにより,種々のハードウェア特性に対する誤差境界が低く,合理的に優れた推定値が得られることを示す。
論文 参考訳(メタデータ) (2023-02-14T11:32:47Z) - 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) - A Case Study of LLVM-Based Analysis for Optimizing SIMD Code Generation [0.0]
本稿では,新しいARM A64FXプロセッサをターゲットとした DCA++ アプリケーションをチューニングするために,LLVM ベースのツールを使用する手法を提案する。
これらのコード変更を適用することで、コードスピードは1.98X増加し、A64FXプロセッサ上で78GFlopsを達成した。
論文 参考訳(メタデータ) (2021-06-27T22:38:16Z) - iffDetector: Inference-aware Feature Filtering for Object Detection [70.8678270164057]
Inference-aware Feature Filtering (IFF)モジュールを導入し、現代の検出器と簡単に組み合わせることができる。
IFFは、畳み込み機能を強化するためにハイレベルなセマンティクスを活用することでクローズドループ最適化を行う。
IFFはCNNベースの物体検出器とプラグアンドプレイ方式で融合でき、計算コストのオーバーヘッドは無視できる。
論文 参考訳(メタデータ) (2020-06-23T02:57:29Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。