論文の概要: ParityFuzz: Finding Inconsistencies across Solidity Compilers via Fine-Grained Mutation and Differential Analysis
- arxiv url: http://arxiv.org/abs/2605.09051v1
- Date: Sat, 09 May 2026 16:53:45 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-05-19 14:56:01.920261
- Title: ParityFuzz: Finding Inconsistencies across Solidity Compilers via Fine-Grained Mutation and Differential Analysis
- Title(参考訳): ParityFuzz:ファイングラインド・ミューテーションと微分解析によるソリッドリティコンパイラ間の不整合の発見
- Abstract要約: ParityFuzzは、Solidity用のクロスコンパイラ差分テストフレームワークである。
コンパイラと実行環境を分析して、構文や境界指向のルールを含む突然変異ルールを導出する。
複数のコンパイラにまたがってプログラムをコンパイルして実行し、その結果を正規化し、比較して不整合を検出する。
- 参考スコア(独自算出の注目度): 37.31248744457945
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: The Solidity smart contract ecosystem has rapidly grown, leading to multiple compilers targeting different blockchain platforms or improving compilation efficiency. Although many compilers aim to be compatible with the primary Solidity compiler (Solc), significant inconsistencies in compilation and execution remain. These inconsistencies hinder contract migration, mislead developers during debugging, and may introduce exploitable vulnerabilities, causing financial losses. Existing testing techniques mainly focus on bugs within a single compiler or perform differential testing in the same execution environment. However, they are insufficient for detecting cross-compiler inconsistencies, as they lack mechanisms to explore triggering conditions and compare bytecode across environments. We propose ParityFuzz, a cross-compiler differential testing framework for Solidity. It operates in three stages. First, it derives mutation rules, including syntax- and boundary-oriented rules, by analyzing compilers and execution environments. Second, it uses reinforcement learning to select effective mutation rules for test generation. Third, it compiles and executes programs across multiple compilers, then normalizes and compares results to detect inconsistencies. Our evaluation shows ParityFuzz is efficient and effective. It achieves up to 18x higher compilation success rate and 1.8x higher code coverage than state-of-the-art fuzzers. It uncovers 64 previously unknown inconsistencies across six compilers. Notably, 11 issues have been fixed, and our findings received a bounty from the Polkadot community.
- Abstract(参考訳): Solidityスマートコントラクトエコシステムは急速に成長し、さまざまなブロックチェーンプラットフォームをターゲットにした複数のコンパイラや、コンパイル効率の向上につながっている。
多くのコンパイラは、プライマリのSolidityコンパイラ(Solc)との互換性を目指しているが、コンパイルと実行の重大な矛盾は残っている。
これらの不整合は、コントラクトの移行を妨げ、デバッグ中に開発者を誤解させ、悪用可能な脆弱性を導入し、財政的損失を引き起こす可能性がある。
既存のテスト技術は、主に単一のコンパイラ内のバグに焦点を当てるか、同じ実行環境で差分テストを実行する。
しかし、起動条件を探索し、環境間でバイトコードを比較するメカニズムが欠如しているため、クロスコンパイラの不整合を検出するには不十分である。
本稿では,Solidity用のクロスコンパイラ差分テストフレームワークであるParityFuzzを提案する。
3段階に分かれている。
まず、コンパイラと実行環境を分析することによって、構文と境界指向のルールを含む突然変異ルールを導出する。
第二に、強化学習を使用して、テスト生成に有効な突然変異規則を選択する。
第三に、複数のコンパイラにまたがるプログラムのコンパイルと実行を行い、結果の正規化と比較を行い、矛盾を検出する。
評価の結果,ParityFuzzは効率的かつ効果的であることがわかった。
コンパイル成功率を最大18倍、コードカバレッジを1.8倍に向上させる。
6つのコンパイラで、これまで未知の64の矛盾が明らかになった。
特に11の問題が修正され,この発見は Polkadot コミュニティから報奨金を受けた。
関連論文リスト
- Finding and Understanding Miscompilation Bugs in the Solidity Compiler [0.0]
私たちはSolSmithを開発し、Solidityコンパイラの品質を改善しました。
25の誤コンパイルバグが発見されました。
SolSmithが発見した誤コンパイルバグは、その性質、根本原因、およびエンドユーザへの影響に基づいて分類する。
論文 参考訳(メタデータ) (2026-07-08T09:59:46Z) - SCDBench: A Benchmark for LLM-Based Smart Contract Decompilers [55.39407031861402]
本稿では,スマートコントラクトデコンパイルのためのデータセットとベンチマーク手法であるSCDBenchを紹介する。
データセットには600の現実のSolidityコントラクトと、ペア化されたバイトコード入力、地味なソースコード、再生可能なセマンティックチェックポイントが含まれている。
我々は,GLM-5の変種を含むゼロショット逆コンパイル設定において,Claude Opus 4.7,GPT-5.3-Codex,GLM-5を評価した。
論文 参考訳(メタデータ) (2026-05-27T20:08:47Z) - Constraint-Guided Multi-Agent Decompilation for Executable Binary Recovery [47.704311990064554]
脱コンパイルは、セキュリティ分析、マルウェアのリバースエンジニアリング、レガシーソフトウェアメンテナンスに不可欠である。
マルチレベル制約誘導型デコンパイル(MCGD)により,デコンパイルされたコードを再実行可能なソースに変換するマルチエージェントフレームワークを提案する。
本フレームワークは,84~97%の再実行性を実現し,28~89ポイントのベースラインデコンパイラ出力を改善した。
論文 参考訳(メタデータ) (2026-04-27T01:28:11Z) - Finding Compiler Bugs through Cross-Language Code Generator and Differential Testing [4.072167151876496]
CrossLangFuzzerは多種多様な型パラメータと複雑な継承構造を持つ言語横断のテストプログラムを生成する。
Kotlinコンパイラの10のバグ、Groovyコンパイラの4つのバグ、Scala 3コンパイラの7つのバグ、Scala 2コンパイラの2つのバグ、Javaコンパイラの1つのバグを発見した。
論文 参考訳(メタデータ) (2025-07-09T06:33:06Z) - Solsmith: Solidity Random Program Generator for Compiler Testing [8.14179966625145]
本稿では,Solidityコンパイラの欠陥を明らかにするテストプログラムジェネレータであるSolsmithの設計と実装を行う。
有効で多様なSolidityプログラムを生成することで、コンパイラの正確性をテストする。
予備的な結果は、Solsmithが期待するテストプログラムを生成し、Solidityコンパイラの4つの欠陥を発見できることを示している。
論文 参考訳(メタデータ) (2025-06-04T13:04:17Z) - When Disagreements Elicit Robustness: Investigating Self-Repair Capabilities under LLM Multi-Agent Disagreements [56.29265568399648]
我々は、不一致が早期のコンセンサスを防ぎ、探索されたソリューション空間を拡張することを主張する。
タスククリティカルなステップの相違は、ソリューションパスのトポロジによってコラボレーションを損なう可能性がある。
論文 参考訳(メタデータ) (2025-02-21T02:24:43Z) - 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) - Towards Understanding the Bugs in Solidity Compiler [11.193701473232851]
本稿では,533のSolidityコンパイラのバグに関する最初の系統的研究について述べる。
本研究は, その特徴(症状, 根本原因, 分布など)とトリガー試験例について検討した。
次に,Solidityコンパイラファザの限界について検討するため,Solidityコンパイラファザを3つ評価した。
論文 参考訳(メタデータ) (2024-07-08T14:22:50Z) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
論文 参考訳(メタデータ) (2023-06-05T19:23:34Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。