論文の概要: ClozeMaster: Fuzzing Rust Compiler by Harnessing LLMs for Infilling Masked Real Programs
- arxiv url: http://arxiv.org/abs/2605.00413v1
- Date: Fri, 01 May 2026 05:19:28 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-05-04 17:43:28.854836
- Title: ClozeMaster: Fuzzing Rust Compiler by Harnessing LLMs for Infilling Masked Real Programs
- Title(参考訳): ClozeMaster: 仮面の実際のプログラムを埋め込むためにLLMをハーネス化してRustコンパイラをファジングする
- Authors: Hongyan Gao, Yibiao Yang, Maolin Sun, Jiangchang Wu, Yuming Zhou, Baowen Xu,
- Abstract要約: そこで我々はclozeMask と呼ばれるブラケットベースのマスクとフィリング戦略を導入する。
rustc と mrustc の27のバグを確認し,そのうち 10 が開発者によって修正されている。
- 参考スコア(独自算出の注目度): 8.493278842932188
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Ensuring the reliability of the Rust compiler is of paramount importance, given increasing adoption of Rust for critical systems development, due to its emphasis on memory and thread safety. However, generating valid test programs for the Rust compiler poses significant challenges, given Rust's complex syntax and strict requirements. With the growing popularity of large language models (LLMs), much research in software testing has explored using LLMs to generate test cases. Still, directly using LLMs to generate Rust programs often results in a large number of invalid test cases. Existing studies have indicated that test cases triggering historical compiler bugs can assist in software testing. Our investigation into Rust compiler bug issues supports this observation. Inspired by existing work and our empirical research, we introduce a bracket-based masking and filling strategy called clozeMask. The clozeMask strategy involves extracting test code from historical issue reports, identifying and masking code snippets with specific structures, and using an LLM to fill in the masked portions for synthesizing new test programs. This approach harnesses the generative capabilities of LLMs while retaining the ability to trigger Rust compiler bugs. It enables comprehensive testing of the compiler's behavior, particularly exploring edge cases. We implemented our approach as a prototype CLOZEMASTER. CLOZEMASTER has identified 27 confirmed bugs for rustc and mrustc, of which 10 have been fixed by developers. Furthermore, our experimental results indicate that CLOZEMASTER outperforms existing fuzzers in terms of code coverage and effectiveness.
- Abstract(参考訳): Rustコンパイラの信頼性を保証することは、メモリとスレッドの安全性に重点を置いているため、重要なシステム開発においてRustの採用が増加していることを考えると、最重要事項である。
しかし、Rustの複雑な構文と厳格な要件を考えると、Rustコンパイラの有効なテストプログラムを生成することは重大な課題となる。
大規模言語モデル(LLM)の人気が高まり、ソフトウェアテストにおける多くの研究は、LLMを使ってテストケースを生成する方法を模索してきた。
それでも、Rustプログラムを生成するために直接LLMを使用すると、多くの無効なテストケースが発生します。
既存の研究によると、過去のコンパイラーのバグを引き起こすテストケースは、ソフトウェアテストを支援することができる。
Rustコンパイラのバグ問題に関する調査は、この観察を支持します。
既存の研究や実証研究に触発されて、私たちはclozeMaskと呼ばれるブラケットベースのマスキングとフィリング戦略を導入しました。
ClozeMaskの戦略は、過去のイシューレポートからテストコードを抽出し、特定の構造でコードスニペットを識別してマスキングし、LSMを使用して新しいテストプログラムを合成するためにマスクされた部分を埋めることである。
このアプローチは、Rustコンパイラのバグをトリガする能力を維持しながら、LLMの生成能力を活用する。
コンパイラの動作、特にエッジケースの包括的なテストを可能にする。
我々はCLOZEMASTERのプロトタイプとして我々のアプローチを実装した。
CLOZEMASTERはrustcとmrustcの27の確認済みバグを特定し、そのうち10が開発者によって修正されている。
さらに,CLOZEMASTERは,コードカバレッジと有効性において,既存のファザよりも優れていることを示す。
関連論文リスト
- ImpossibleBench: Measuring LLMs' Propensity of Exploiting Test Cases [58.411135609139855]
タスク完了のための「ショートカット」は、大規模言語モデルの信頼性評価と展開に重大なリスクをもたらす。
我々は,LLMエージェントがテストケースを利用するための正当性を測定するベンチマークフレームワークであるImpossibleBenchを紹介する。
実践的なフレームワークとして、ImpossibleBenchは単なる評価ではなく、汎用的なツールである。
論文 参考訳(メタデータ) (2025-10-23T06:58:32Z) - CRUST-Bench: A Comprehensive Benchmark for C-to-safe-Rust Transpilation [51.18863297461463]
CRUST-Benchは100のCリポジトリのデータセットで、それぞれが安全なRustとテストケースで手書きのインターフェースとペアリングされている。
我々は、このタスクで最先端の大規模言語モデル(LLM)を評価し、安全で慣用的なRust生成が依然として難しい問題であることを確認した。
最高のパフォーマンスモデルであるOpenAI o1は、ワンショット設定で15タスクしか解決できない。
論文 参考訳(メタデータ) (2025-04-21T17:33:33Z) - VERT: Verified Equivalent Rust Transpilation with Large Language Models as Few-Shot Learners [6.824327908701066]
Rustはメモリ安全性と低レベルのコントロールを組み合わせたプログラミング言語で、Cライクなパフォーマンスを提供する。
既存の作業はルールベースと大規模言語モデル(LLM)という2つのカテゴリに分類される。
私たちは、正式な正確性を保証する形で、可読性のあるRustトランスパイルを生成するツールであるVERTを紹介します。
論文 参考訳(メタデータ) (2024-04-29T16:45:03Z) - 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) - Fixing Rust Compilation Errors using LLMs [2.1781086368581932]
Rustプログラミング言語は、C/C++のような従来の安全でない代替言語よりも、低レベルのシステムプログラミング言語に実行可能な選択肢として、自らを確立している。
本稿では,Large Language Models(LLMs)の創発的機能を活用し,Rustコンパイルエラーの修正を自動的に提案するRustAssistantというツールを提案する。
RustAssistantは、人気のあるオープンソースRustリポジトリの実際のコンパイルエラーに対して、約74%の驚くべきピーク精度を達成することができる。
論文 参考訳(メタデータ) (2023-08-09T18:30:27Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。