論文の概要: Rust's Type Checker Implementation Is Unsound: An Empirical Study on Soundness Bugs in rustc
- arxiv url: http://arxiv.org/abs/2608.28713v1
- Date: Fri, 28 Aug 2026 07:59:19 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-09-03 13:21:12.898504
- Title: Rust's Type Checker Implementation Is Unsound: An Empirical Study on Soundness Bugs in rustc
- Title(参考訳): Rustの型チェッカ実装は正しくない - rustcのサウンドバグに関する実証的研究
- Abstract要約: Rustは、メモリのバグを含む望ましくない動作を防止できるタイプサウンド言語である、と主張されている。
Rustcは欠陥に免疫がなく、サウンドネスバグが含まれており、コンパイラは拒否されるべきプログラムを受け入れる。
GitHubイシュートラッカから収集したrustcの潜在的な健全性バグを報告した30のイシューに関する実証的研究を紹介する。
- 参考スコア(独自算出の注目度): 5.513280759193012
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Rust is claimed to be a type-sound language capable of preventing various undesirable behaviors, including memory bugs. However, rustc, the official Rust compiler, is not immune to defects; it contains soundness bugs, where the compiler accepts programs that should be rejected during type checking. In this work, we present an empirical study of 30 issues that report potential soundness bugs in rustc, collected from the GitHub issue tracker between January 1, 2022 and September 1, 2025. We analyze each issue in depth, focusing on its affected feature, symptom (how the feature is mishandled), consequence (the resulting undesirable behavior), triggering features, community consensus regarding whether it is a bug, and lifecycle, including introduction, discovery, and fix. Furthermore, we investigate existing artifacts, including implementations such as AddressSanitizer, Miri, Chalk, and a-mir-formality, alongside documentation such as the Rust Reference, the FLS, and Rust RFCs to assess their potential as oracles for testing the type soundness of rustc. Our key findings indicate that: (1) Certain soundness bugs, typically triggered by implied bounds or trait objects, compromise memory safety. (2) Sound type checking is challenged by edge cases involving associated types and the interaction between lifetimes and traits. (3) Most bugs persist from the initial introduction of the relevant features and require significant time to be discovered. (4) While AddressSanitizer and Miri can detect soundness bugs that lead to memory bugs, a-mir-formality and Chalk are currently immature despite their potential to identify other bug categories. (5) Existing documentation frequently fails to provide precise explanations of the language semantics.
- Abstract(参考訳): Rustは、メモリのバグなど、さまざまな望ましくない動作を防止できるタイプサウンド言語である、と主張されている。
しかし、公式のRustコンパイラであるrustcは、欠陥に免疫がない。
本研究では,2022年1月1日から2025年9月1日まで,GitHubイシュートラッカから収集したrustcの健全性バグを報告した30件の課題について,実証的研究を行った。
我々は、それぞれの問題を深く分析し、影響のある機能、症状(その機能がどう扱われているか)、結果(望ましくない振る舞いの結果)、特徴のトリガー、バグかどうかに関するコミュニティのコンセンサス、導入、発見、修正を含むライフサイクルに焦点を合わせます。
さらに、AddressSanitizer、Miri、Chalk、a-mir-formalityといった既存のアーティファクトや、Rust Reference、FLS、Rust RFCといったドキュメントを調査して、rustcの型音性をテストするためのオーラクルとしての可能性を評価する。
1) インプリッド境界や特性物体によって引き起こされる特定の音質のバグは、メモリの安全性を損なう。
2) 音型検査は, 関連型とライフタイムと特性の相互作用が関係するエッジケースによって困難である。
(3)ほとんどのバグは、関連する機能の初期導入から持続し、発見にかなりの時間がかかる。
(4)AddressSanitizerとMiriは、メモリバグにつながる健全性バグを検出することができるが、a-mir-formalityとChalkは、他のバグカテゴリを識別する可能性にもかかわらず、現在未成熟である。
(5) 既存のドキュメンテーションは言語意味論の正確な説明に失敗することが多い。
関連論文リスト
- Writing Bug Reports for Software Repair Agents: What Information Matters Most? [45.10027008889631]
バグレポートのエージェント対応について検討する。
バグレポートを表す441の課題に注目します。
その結果,エージェントファーストレポートは,エージェントの検索・修理スペースを狭める情報から最も恩恵を受けることが示唆された。
論文 参考訳(メタデータ) (2026-07-10T16:00:57Z) - Kani: A Model Checker for Rust [3.019677299390329]
KaniはRustのオープンソースモデルチェッカーである。
バグフィニング以外のバウンドモデルチェックをプッシュして、正確性を保証する。
KaniはプロダクションCIで大規模に運用されており、コード変更毎に16,000以上のハーネスが検証されている。
論文 参考訳(メタデータ) (2026-07-01T22:05:33Z) - WESR: Scaling and Evaluating Word-level Event-Speech Recognition [59.21814194620928]
音声は言語情報だけでなく、笑ったり泣いたりするような豊富な非言語的な音声イベントも伝達する。
我々は,21の発声イベントの分類を改良し,個別(スタンドアローン)と連続(音声と混合)に分類した。
改良された分類法に基づくWESR-Benchは,新しい位置認識プロトコルを備えた専門家アノテート評価セット(900以上の発話)である。
論文 参考訳(メタデータ) (2026-01-08T02:23:21Z) - Understanding Typing-Related Bugs in Solidity Compiler [20.643091052140118]
本稿では,Solidityコンパイラにおけるタイピング関連バグに関する最初の系統的研究について述べる。
それぞれのバグについて,症状,根本原因,露出条件,修正戦略の4次元から詳細な分析と分類を行った。
論文 参考訳(メタデータ) (2025-12-20T02:37:10Z) - BugPilot: Complex Bug Generation for Efficient Learning of SWE Skills [59.003563837981886]
高品質なバグは、次世代の言語モデルベースソフトウェアエンジニアリング(SWE)エージェントをトレーニングする鍵となる。
難易度および多種多様なバグを合成する新しい方法を提案する。
論文 参考訳(メタデータ) (2025-10-22T17:58:56Z) - What Do They Fix? LLM-Aided Categorization of Security Patches for Critical Memory Bugs [46.325755802511026]
我々は、LLM(Large Language Model)と細調整された小言語モデルに基づく2つのアプローチを統合するデュアルメタルパイプラインであるLMを開発した。
LMは、OOBまたはUAFの脆弱性に対処する最近のLinuxカーネルのパッチ5,140のうち111つを、手作業による検証によって90の正の正が確認された。
論文 参考訳(メタデータ) (2025-09-26T18:06:36Z) - 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) - TYPEPULSE: Detecting Type Confusion Bugs in Rust Programs [17.491119986027925]
Rustは型変換をサポートし、安全なRustはこれらの変換のセキュリティを保証する。
これらの変換は、メモリ破損の深刻な問題を引き起こす可能性がある。
C/C++の型混乱バグに関する広範な研究にもかかわらず、Rustの型混乱バグの研究はまだ不足している。
論文 参考訳(メタデータ) (2025-02-05T15:27:08Z) - A Study of Undefined Behavior Across Foreign Function Boundaries in Rust Libraries [2.359557447960552]
Rustは、他の言語との相互運用に頻繁に使用される。
Miriは、これらのモデルに対してアプリケーションを検証できる唯一の動的解析ツールである。
Miriは、外部機能のバグ発見をサポートしておらず、Rustエコシステムに重大な正当性ギャップがあることを示唆している。
論文 参考訳(メタデータ) (2024-04-17T18:12:05Z) - Yuga: Automatically Detecting Lifetime Annotation Bugs in the Rust Language [15.164423552903571]
Rustプロジェクトでは、セキュリティ上の脆弱性が報告されている。
これらの脆弱性は、部分的には関数シグネチャの誤った終身アノテーションから生じます。
既存のツールはこれらのバグを検出するのに失敗する。
我々は,新たな静的解析ツールであるYugaを考案し,潜在的なライフタイムアノテーションのバグを検出する。
論文 参考訳(メタデータ) (2023-10-12T17:05:03Z) - Using Developer Discussions to Guide Fixing Bugs in Software [51.00904399653609]
我々は,タスク実行前に利用可能であり,また自然発生しているバグレポートの議論を,開発者による追加情報の必要性を回避して利用することを提案する。
このような議論から派生したさまざまな自然言語コンテキストがバグ修正に役立ち、オラクルのバグ修正コミットに対応するコミットメッセージの使用よりもパフォーマンスの向上につながることを実証する。
論文 参考訳(メタデータ) (2022-11-11T16:37:33Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。