論文の概要: 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に移植された。
関連論文リスト
- ReF Decompile: Relabeling and Function Call Enhanced Decompile [50.86228893636785]
逆コンパイルの目標は、コンパイルされた低レベルコード(アセンブリコードなど)を高レベルプログラミング言語に変換することである。
このタスクは、脆弱性識別、マルウェア分析、レガシーソフトウェアマイグレーションなど、さまざまなリバースエンジニアリングアプリケーションをサポートする。
論文 参考訳(メタデータ) (2025-02-17T12:38:57Z) - 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) - OVLW-DETR: Open-Vocabulary Light-Weighted Detection Transformer [63.141027246418]
本稿では,OVLW-DETR(Open-Vocabulary Light-Weighted Detection Transformer)を提案する。
本稿では,視覚言語モデル(VLM)からオブジェクト検出器への知識伝達を簡易なアライメントで行うエンド・ツー・エンドのトレーニングレシピを提案する。
実験により,提案手法は標準ゼロショットLVISベンチマークにおいて,既存の実時間開語彙検出器よりも優れていることが示された。
論文 参考訳(メタデータ) (2024-07-15T12:15:27Z) - LLAMAFUZZ: Large Language Model Enhanced Greybox Fuzzing [6.042114639413868]
特殊なファジィザは複雑な構造化データを扱うことができるが、文法にさらなる努力が必要であり、低スループットに悩まされる。
本稿では,構造化データに対するグレーボックスファジングを強化するために,Large Language Modelを活用する可能性について検討する。
LLMベースのファザであるLLAMAFUZZは、LLMのパワーを統合して、構造化データをファザリングに理解し、変更する。
論文 参考訳(メタデータ) (2024-06-11T20:48:28Z) - LLM-Vectorizer: LLM-based Verified Loop Vectorizer [12.048697450464935]
大規模言語モデル(LLM)は、個々の配列要素を処理するスカラープログラムからベクトル化されたコードを生成することができる。
LLMは1.1xから9.4xまでのランタイムスピードアップで高性能なベクトルコードを生成することができる。
我々のアプローチでは、TSVCベンチマークデータセットで正しいベクター化の38.2%を検証できる。
論文 参考訳(メタデータ) (2024-06-07T07:04:26Z) - 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) - ML-Bench: Evaluating Large Language Models and Agents for Machine Learning Tasks on Repository-Level Code [76.84199699772903]
ML-Benchは、既存のコードリポジトリを利用してタスクを実行する現実世界のプログラミングアプリケーションに根ざしたベンチマークである。
LLM(Large Language Model)とAIエージェントの両方を評価するために、事前に定義されたデプロイメント環境でLLMのテキスト-コード変換を評価するML-LLM-Benchと、Linuxサンドボックス環境でエンドツーエンドのタスク実行で自律エージェントをテストするML-Agent-Benchの2つの設定が採用されている。
論文 参考訳(メタデータ) (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) - WhiteFox: White-Box Compiler Fuzzing Empowered by Large Language Models [11.33856613057612]
提案するWhiteFoxは,ソースコード情報付きLarge Language Modelを用いた,最初のホワイトボックスコンパイラファザである。
WhiteFoxは、高度な最適化を行うための高品質なテストプログラムを生成することができる。
WhiteFoxはDLコンパイラの101のバグを発見した。
論文 参考訳(メタデータ) (2023-10-24T16:39:06Z) - 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) - iffDetector: Inference-aware Feature Filtering for Object Detection [70.8678270164057]
Inference-aware Feature Filtering (IFF)モジュールを導入し、現代の検出器と簡単に組み合わせることができる。
IFFは、畳み込み機能を強化するためにハイレベルなセマンティクスを活用することでクローズドループ最適化を行う。
IFFはCNNベースの物体検出器とプラグアンドプレイ方式で融合でき、計算コストのオーバーヘッドは無視できる。
論文 参考訳(メタデータ) (2020-06-23T02:57:29Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。