論文の概要: Stateful Testing for Deep Learning Compilers
- arxiv url: http://arxiv.org/abs/2610.22003v1
- Date: Thu, 15 Oct 2026 14:45:46 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-10-17 06:09:33.13424
- Title: Stateful Testing for Deep Learning Compilers
- Title(参考訳): ディープラーニングコンパイラのためのステートフルテスト
- Abstract要約: 我々は、各テストケースを呼び出しシーケンスとペアのモデルとして表現するステートフルなテスト手法であるRondoを提案する。
Rondoは呼び出しシーケンスをミュートし、コンパイル動作によってガイドされるマルコフ連鎖モンテカルロサンプリングを使用して、まれに観察される動作を選択する。
- 参考スコア(独自算出の注目度): 15.009292683309974
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Modern deep learning compilers compile models lazily and cache artifacts across invocations. Retained compiler state can make a later invocation incorrect even when it is correct in isolation. An analysis of 26 publicly reported issues in PyTorch, JAX, and TensorFlow shows that detecting such bugs requires sequences that first establish compiler state and then expose a failure. We present Rondo, a stateful testing method that represents each test case as a model paired with an invocation sequence. Rondo mutates invocation sequences and uses a Markov chain Monte Carlo sampler guided by compilation behavior to favor rarely observed behaviors. Its three-way differential oracle compares execution without compilation, compiled execution with compiler state reset, and compiled execution with state retained. It confirms stateful bugs by replaying the same invocation with state retained and reset while preserving inputs and program state, then shortens sequences while preserving the original bug. We evaluate Rondo on four deep learning frameworks using 24 common model architectures. Rondo detects 117 bugs, including 35 stateful bugs. We submit 39 bug reports, including 18 for stateful bugs; developers confirm 35 reports, including 16 for stateful bugs, and fix 18 bugs, including 11 stateful bugs. Rondo achieves the highest behavior coverage and compiler Python source-line coverage among the compared methods, with 99.26% alarm precision. It shortens 44 of 117 invocation sequences, reducing the lengths of these 44 sequences by 83.34% on average.
- Abstract(参考訳): 現代のディープラーニングコンパイラは、モデルを遅延的にコンパイルし、呼び出し毎にアーティファクトをキャッシュする。
保持されたコンパイラの状態は、独立して正しい場合でも後続の呼び出しを誤ったものにすることができる。
PyTorch、JAX、TensorFlowの26の公に報告された問題の分析によると、そのようなバグを検出するには、まずコンパイラの状態を確立し、次に失敗を公開するシーケンスが必要である。
我々は、各テストケースを呼び出しシーケンスとペアのモデルとして表現するステートフルなテスト手法であるRondoを提案する。
Rondoは呼び出しシーケンスをミュートし、コンパイル動作によってガイドされるマルコフ連鎖モンテカルロサンプリングを使用して、まれに観察される動作を選択する。
その3方向の微分オラクルは、コンパイルなしでの実行、コンパイルされた実行とコンパイラの状態リセットを比較し、コンパイルされた実行と状態を保持する。
入力とプログラム状態を保存しながら、状態保持とリセットで同じ呼び出しをリプレイすることでステートフルなバグを確認し、元のバグを保存しながらシーケンスを短縮する。
我々は24の共通モデルアーキテクチャを用いて、4つのディープラーニングフレームワーク上でRondoを評価した。
Rondoは、35のステートフルバグを含む117のバグを検出する。
ステートフルバグの18を含む39のバグレポートを提出します。開発者は、ステートフルバグの16を含む35のレポートを確認し、ステートフルバグの11を含む18のバグを修正します。
Rondoは、比較したメソッドの中で最も高い振る舞いカバレッジとPythonのソースラインカバレッジを達成しており、99.26%のアラーム精度がある。
117の呼び出しシーケンスのうち44を短縮し、44のシーケンスの長さを平均83.34%短縮する。
関連論文リスト
- Are We Testing the Wrong Quantum Bugs? A Study of Fault Representation Gaps in Quantum Software Testing [6.026868334815318]
量子ソフトウェアは、実行前にプログラムを変換するコンパイラ、中間表現、実行フレームワークに依存している。
これらの成分の欠陥は、そうでなければ正しい量子プログラムの振舞いを変えることができる。
突然変異生成欠陥と修正バグベンチマークによって表される欠陥が、現代の量子ソフトウェアで遭遇した欠陥をいかに反映しているかを考察する。
論文 参考訳(メタデータ) (2026-10-15T15:41:56Z) - Pattern-Guided Graph Synthesis for Suppressing Known Defects in DL Compiler Fuzzing [6.570884869339776]
Repriseは、テスト生成中に既知の欠陥の報告を抑圧するaDLコンパイラファズーである。
プログラムを多様化する代わりに、Repriseは発見された欠陥をそれぞれ意味グラフパターンに蒸留する。
Repriseはまた、3つのコンパイラで25の既知のバグを発見した。
論文 参考訳(メタデータ) (2026-10-03T18:41:09Z) - WitnessGym: Benchmarking Coding Agents on the Construction of Bug Witnesses [52.153965130786794]
WitnessGymはバグ注入によるバグ検証ベンチマークを構築するためのフレームワークだ。
実際のプロジェクトのテスト済みパスにバグを注入し、各プロジェクトを再構築し、建設時の目撃者が暴露したケースを保持する。
テストスイートを備えた現実世界のJavaプロジェクトに基づいて、WitnessGymは1300のベンチマークケースを自動的に構築する。
論文 参考訳(メタデータ) (2026-09-29T03:43:13Z) - ParityFuzz: Finding Inconsistencies across Solidity Compilers via Fine-Grained Mutation and Differential Analysis [37.31248744457945]
ParityFuzzは、Solidity用のクロスコンパイラ差分テストフレームワークである。
コンパイラと実行環境を分析して、構文や境界指向のルールを含む突然変異ルールを導出する。
複数のコンパイラにまたがってプログラムをコンパイルして実行し、その結果を正規化し、比較して不整合を検出する。
論文 参考訳(メタデータ) (2026-05-09T16:53:45Z) - PatchGuru: Patch Oracle Inference from Natural Language Artifacts with Large Language Models [16.633386478990037]
PatchGuruは、実際のプルリクエスト(PR)から実行可能なパッチ仕様を推論する最初の自動テクニックである。
PRが与えられた後、PatchGuruは大規模な言語モデル(LLM)を使用してNLアーティファクトから開発者の意図を抽出し、パッチオークルを合成する。
PatchGuruは、プレパッチとポストパッチの動作を比較し、違反を特定し、自己レビューを通じて不整合をフィルタリングし、バグレポートを生成することで、推論されたオラクルを反復的に洗練する。
論文 参考訳(メタデータ) (2026-02-05T03:48:17Z) - BugPilot: Complex Bug Generation for Efficient Learning of SWE Skills [59.003563837981886]
高品質なバグは、次世代の言語モデルベースソフトウェアエンジニアリング(SWE)エージェントをトレーニングする鍵となる。
難易度および多種多様なバグを合成する新しい方法を提案する。
論文 参考訳(メタデータ) (2025-10-22T17:58:56Z) - CLOVER: A Test Case Generation Benchmark with Coverage, Long-Context, and Verification [71.34070740261072]
本稿では,テストケースの生成と完成におけるモデルの能力を評価するためのベンチマークCLOVERを提案する。
ベンチマークはタスク間でのコード実行のためにコンテナ化されています。
論文 参考訳(メタデータ) (2025-02-12T21:42:56Z) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
論文 参考訳(メタデータ) (2023-06-05T19:23:34Z) - Using Developer Discussions to Guide Fixing Bugs in Software [51.00904399653609]
我々は,タスク実行前に利用可能であり,また自然発生しているバグレポートの議論を,開発者による追加情報の必要性を回避して利用することを提案する。
このような議論から派生したさまざまな自然言語コンテキストがバグ修正に役立ち、オラクルのバグ修正コミットに対応するコミットメッセージの使用よりもパフォーマンスの向上につながることを実証する。
論文 参考訳(メタデータ) (2022-11-11T16:37:33Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。