論文の概要: RAG-Based Fuzzing of Cross-Architecture Compilers
- arxiv url: http://arxiv.org/abs/2504.08967v1
- Date: Fri, 11 Apr 2025 20:46:52 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-04-15 16:48:24.358691
- Title: RAG-Based Fuzzing of Cross-Architecture Compilers
- Title(参考訳): RAGを用いたクロスアーキテクチャコンパイラのファジリング
- Authors: Rana Elnaggar, Brian Delgado, Jason M. Fung,
- Abstract要約: OneAPIは、開発者による最小限の努力で、クロスアーキテクチャなソフトウェア開発をサポートするオープンスタンダードである。
OneAPIはDPC++とC++コンパイラを提供しており、その正確性、信頼性、セキュリティを検証するために徹底的にテストする必要がある。
本稿では,検索拡張生成(RAG)の概念を統合した大規模言語モデル (LLM) ベースのコンパイラファジィツールを提案する。
- 参考スコア(独自算出の注目度): 0.8302146576157498
- License:
- Abstract: OneAPI is an open standard that supports cross-architecture software development with minimal effort from developers. It brings DPC++ and C++ compilers which need to be thoroughly tested to verify their correctness, reliability, and security. Compilers have numerous code flows and optimization features. This process requires developers with deep understanding of the different compiler flows to craft testcases specific to target paths in the compiler. This testcase creation is a time-consuming and costly process. In this paper, we propose a large-language model (LLM)-based compiler fuzzing tool that integrates the concept of retrieval-augmented generation (RAG). This tool automates the testcase generation task and relieves experienced compiler developers from investing time to craft testcase generation patterns. We test our proposed approach on the Intel DPC++/C++ compiler. This compiler compiles SYCL code and allows developers to offload it to different architectures, e.g. GPUs and CPUs from different vendors. Using this tool, we managed to identify 87 SYCL code test cases that lead to output value mismatch or compiler runtime errors when compiled using Intel DPC++ and clang++ compilers and run on different architectures. The testcases and the identified unexpected behaviors of the compilers under test were obtained within only few hours with no prior background on the compiler passes under tests. This tool facilitates efficient compiler fuzzing with reduced developer time requirements via the dynamic testcase creation capability provided by an LLM with RAG.
- Abstract(参考訳): OneAPIは、開発者による最小限の努力で、クロスアーキテクチャなソフトウェア開発をサポートするオープンスタンダードである。
DPC++とC++コンパイラは、その正確性、信頼性、セキュリティを検証するために徹底的にテストする必要がある。
コンパイラには多数のコードフローと最適化機能がある。
このプロセスでは、異なるコンパイラフローを深く理解した開発者が、コンパイラのターゲットパスに特有のテストケースを作成する必要がある。
このテストケースの作成は、時間とコストのかかるプロセスです。
本稿では,検索拡張生成(RAG)の概念を統合した大規模言語モデル (LLM) ベースのコンパイラファジリングツールを提案する。
このツールはテストケース生成タスクを自動化し、経験豊富なコンパイラ開発者がテストケース生成パターンを作成する時間を削減する。
提案手法をIntel DPC++/C++コンパイラ上で検証する。
このコンパイラはSYCLコードをコンパイルし、開発者は異なるベンダーのGPUやCPUなど、異なるアーキテクチャにオフロードすることができる。
このツールを使用して、Intel DPC++とClang++コンパイラを使用してコンパイルされたとき、出力値のミスマッチやコンパイラランタイムエラーにつながる87のSYCLコードテストケースを特定し、異なるアーキテクチャ上で実行しました。
テストケースと、テスト中のコンパイラの予期せぬ動作は、わずか数時間で取得された。
このツールは、RAGを備えたLLMが提供する動的テストケース作成機能を通じて、開発者の時間要件を低減した効率的なコンパイラファジリングを容易にする。
関連論文リスト
- ReF Decompile: Relabeling and Function Call Enhanced Decompile [50.86228893636785]
逆コンパイルの目標は、コンパイルされた低レベルコード(アセンブリコードなど)を高レベルプログラミング言語に変換することである。
このタスクは、脆弱性識別、マルウェア分析、レガシーソフトウェアマイグレーションなど、さまざまなリバースエンジニアリングアプリケーションをサポートする。
論文 参考訳(メタデータ) (2025-02-17T12:38:57Z) - Finding Missed Code Size Optimizations in Compilers using LLMs [1.90019787465083]
我々は,大規模言語モデルと一連の差分テスト戦略を組み合わせた新しいテスト手法を開発した。
当社のアプローチでは,実装に150行未満のコードが必要です。
現在までに、本番コンパイラの24のバグが報告されている。
論文 参考訳(メタデータ) (2024-12-31T21:47:46Z) - Commit0: Library Generation from Scratch [77.38414688148006]
Commit0は、AIエージェントにスクラッチからライブラリを書くよう促すベンチマークである。
エージェントには、ライブラリのAPIを概説する仕様文書と、インタラクティブなユニットテストスイートが提供されている。
Commit0はまた、モデルが生成したコードに対して静的解析と実行フィードバックを受け取る、インタラクティブな環境も提供する。
論文 参考訳(メタデータ) (2024-12-02T18:11:30Z) - Codev-Bench: How Do LLMs Understand Developer-Centric Code Completion? [60.84912551069379]
Code-Development Benchmark (Codev-Bench)は、細粒度で現実世界、リポジトリレベル、開発者中心の評価フレームワークです。
Codev-Agentは、リポジトリのクローリングを自動化し、実行環境を構築し、既存のユニットテストから動的呼び出しチェーンを抽出し、データ漏洩を避けるために新しいテストサンプルを生成するエージェントベースのシステムである。
論文 参考訳(メタデータ) (2024-10-02T09:11:10Z) - Weak Memory Demands Model-based Compiler Testing [0.0]
コンパイラのバグは、コンパイルされたコンカレントプログラムの動作が、アーキテクチャメモリモデルによって許容されるように、ソースモデルの下でソースプログラムによって許容される振る舞いでない場合に発生する。
プロセッサの実装は、緩やかなアーキテクチャモデルの振る舞いをますます活用している。
論文 参考訳(メタデータ) (2024-01-12T15:50:32Z) - A Survey of Modern Compiler Fuzzing [0.0]
この調査は、コンパイラの欠陥を理解し、対処するための研究成果の概要を提供する。
研究者は、その症状や根本原因など、コンパイラーのバグに関する調査と専門知識をカバーしている。
さらに、テストプログラムの構築やテストオラクルの設計など、ファジング技術を設計する研究者の取り組みについても取り上げている。
論文 参考訳(メタデータ) (2023-06-12T06:03:51Z) - HDCC: A Hyperdimensional Computing compiler for classification on
embedded systems and high-performance computing [58.720142291102135]
この研究は、HDC分類メソッドの高レベルな記述を最適化されたCコードに変換する最初のオープンソースコンパイラである、ネームコンパイラを紹介している。
nameは現代のコンパイラのように設計されており、直感的で記述的な入力言語、中間表現(IR)、再ターゲット可能なバックエンドを備えている。
これらの主張を裏付けるために,HDC文献で最もよく使われているデータセットについて,HDCCを用いて実験を行った。
論文 参考訳(メタデータ) (2023-04-24T19:16:03Z) - CompilerGym: Robust, Performant Compiler Optimization Environments for
AI Research [26.06438868492976]
コンパイラ最適化に人工知能(AI)技術を適用することへの関心は急速に高まっている。
しかし、コンパイラー研究は高い参入障壁を持っている。
実世界のコンパイラ最適化タスクのための環境セットであるCompilerGymを紹介する。
また、コンパイラ研究者に新しい最適化タスクを公開するツールキットも導入する。
論文 参考訳(メタデータ) (2021-09-17T01:02:27Z) - Configuring Test Generators using Bug Reports: A Case Study of GCC
Compiler and Csmith [2.1016374925364616]
本稿では,バグレポートのコードスニペットを使用して,テスト生成のガイドを行う。
GCCの8つのバージョンでこのアプローチを評価します。
我々は,本手法がGCCの最先端テスト生成技術よりも高いカバレッジを提供し,誤コンパイル障害を引き起こすことを発見した。
論文 参考訳(メタデータ) (2020-12-19T11:25:13Z) - Extending C++ for Heterogeneous Quantum-Classical Computing [56.782064931823015]
qcorはC++とコンパイラの実装の言語拡張で、異種量子古典プログラミング、コンパイル、単一ソースコンテキストでの実行を可能にする。
我々の研究は、量子言語で高レベルな量子カーネル(関数)を表現できる、第一種C++コンパイラを提供する。
論文 参考訳(メタデータ) (2020-10-08T12:49:07Z) - PolyDL: Polyhedral Optimizations for Creation of High Performance DL
primitives [55.79741270235602]
本稿では,Deep Learningプリミティブの高性能実装を自動的に生成するコンパイラアルゴリズムを提案する。
我々は多面体モデルを用いた新しいデータ再利用分析アルゴリズムを開発した。
また、このようなハイブリッドコンパイラとライブラリ使用の最小限のアプローチが、最先端のパフォーマンスをもたらすことを示す。
論文 参考訳(メタデータ) (2020-06-02T06:44:09Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。