論文の概要: Decompiling Rust: An Empirical Study of Compiler Optimizations and Reverse Engineering Challenges
- arxiv url: http://arxiv.org/abs/2507.18792v1
- Date: Thu, 24 Jul 2025 20:26:42 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-07-28 16:16:48.747885
- Title: Decompiling Rust: An Empirical Study of Compiler Optimizations and Reverse Engineering Challenges
- Title(参考訳): Rustのデコンパイル: コンパイラ最適化とリバースエンジニアリングの課題に関する実証的研究
- Authors: Zixu Zhou,
- Abstract要約: Rustバイナリの分解は、言語のリッチな型システム、アグレッシブなコンパイラ最適化、ハイレベルな抽象化の広く使われるため、難しい。
コアRust機能とコンパイラビルドモードの非コンパイル品質をベンチマークで評価する。
私たちの調査結果は、ツール開発者にとって実用的な洞察を提供し、Rust対応のデコンパイル戦略の必要性を強調しています。
- 参考スコア(独自算出の注目度): 0.0
- License: http://creativecommons.org/licenses/by-nc-nd/4.0/
- Abstract: Decompiling Rust binaries is challenging due to the language's rich type system, aggressive compiler optimizations, and widespread use of high-level abstractions. In this work, we conduct a benchmark-driven evaluation of decompilation quality across core Rust features and compiler build modes. Our automated scoring framework shows that generic types, trait methods, and error handling constructs significantly reduce decompilation quality, especially in release builds. Through representative case studies, we analyze how specific language constructs affect control flow, variable naming, and type information recovery. Our findings provide actionable insights for tool developers and highlight the need for Rust-aware decompilation strategies.
- Abstract(参考訳): Rustバイナリの分解は、言語のリッチな型システム、アグレッシブなコンパイラ最適化、ハイレベルな抽象化の広く使われるため、難しい。
本研究では、コアRust機能とコンパイラビルドモードの非コンパイル品質をベンチマークで評価する。
我々の自動スコアリングフレームワークは、一般的な型、トレイトメソッド、エラーハンドリング構造が、特にリリースビルドにおいて、デコンパイル品質を著しく低下させることを示している。
代表的なケーススタディを通じて、特定の言語構成が制御フロー、変数の命名、型情報の回復にどのように影響するかを分析する。
私たちの調査結果は、ツール開発者にとって実用的な洞察を提供し、Rust対応のデコンパイル戦略の必要性を強調しています。
関連論文リスト
- CRUST-Bench: A Comprehensive Benchmark for C-to-safe-Rust Transpilation [63.23120252801889]
CRUST-Benchは100のCリポジトリのデータセットで、それぞれが安全なRustとテストケースで手書きのインターフェースとペアリングされている。
我々は、このタスクで最先端の大規模言語モデル(LLM)を評価し、安全で慣用的なRust生成が依然として難しい問題であることを確認した。
最高のパフォーマンスモデルであるOpenAI o1は、ワンショット設定で15タスクしか解決できない。
論文 参考訳(メタデータ) (2025-04-21T17:33:33Z) - Beyond the Edge of Function: Unraveling the Patterns of Type Recovery in Binary Code [55.493408628371235]
本稿では,バイナリコードの変数型を復元するフレームワークByteTRを提案する。
ByteTRは、関数間の変数伝搬の普遍性を考慮して、変数伝搬をトレースするためのプロシーダ間解析を行い、ゲートグラフニューラルネットワークを用いて、変数型回復のための長距離データフロー依存性をキャプチャする。
論文 参考訳(メタデータ) (2025-03-10T12:27:05Z) - ReF Decompile: Relabeling and Function Call Enhanced Decompile [50.86228893636785]
逆コンパイルの目標は、コンパイルされた低レベルコード(アセンブリコードなど)を高レベルプログラミング言語に変換することである。
このタスクは、脆弱性識別、マルウェア分析、レガシーソフトウェアマイグレーションなど、さまざまなリバースエンジニアリングアプリケーションをサポートする。
論文 参考訳(メタデータ) (2025-02-17T12:38:57Z) - ToolCoder: A Systematic Code-Empowered Tool Learning Framework for Large Language Models [81.12673534903979]
ツール学習は、大規模な言語モデル(LLM)にとって、外部ツールとのインタラクションを通じて、複雑な現実世界のタスクを解決する重要な機能として登場した。
本稿では,ツール学習をコード生成タスクとして再編成する新しいフレームワークであるToolCoderを提案する。
論文 参考訳(メタデータ) (2025-02-17T03:42:28Z) - StructTest: Benchmarking LLMs' Reasoning through Compositional Structured Outputs [78.84060166851805]
StructTestは、大規模な言語モデル(LLM)を合成命令に従って構造化出力を生成する能力に基づいて評価する、新しいベンチマークである。
評価はルールベースの評価器を用いて決定的に行われ、新しいタスクやデータセットに容易に拡張できる。
StructTestは、Deepseek-V3/R1やGPT-4oといったトップパフォーマンスモデルでも、依然として難しいままです。
論文 参考訳(メタデータ) (2024-12-23T22:08:40Z) - CompilerDream: Learning a Compiler World Model for General Code Optimization [58.87557583347996]
汎用コード最適化のためのモデルベース強化学習手法であるCompilerDreamを紹介する。
最適化パスの固有の特性を正確にシミュレートするコンパイラの世界モデルと、このモデルで訓練されたエージェントから、効率的な最適化戦略を生成する。
さまざまなデータセットを網羅し、LLVMのビルトイン最適化や、値予測とエンドツーエンドコード最適化の両方の設定における最先端メソッドを超越している。
論文 参考訳(メタデータ) (2024-04-24T09:20:33Z) - A Study of Undefined Behavior Across Foreign Function Boundaries in Rust Libraries [2.359557447960552]
Rustは、他の言語との相互運用に頻繁に使用される。
Miriは、これらのモデルに対してアプリケーションを検証できる唯一の動的解析ツールである。
Miriは、外部機能のバグ発見をサポートしておらず、Rustエコシステムに重大な正当性ギャップがあることを示唆している。
論文 参考訳(メタデータ) (2024-04-17T18:12:05Z) - Accurate Coverage Metrics for Compiler-Generated Debugging Information [0.0]
多くのツールは、プログラム状態のソース言語ビューを示すために、コンパイラが生成したメタデータに依存している。
局所変数のカバー範囲を測定するための現在のアプローチは粗末な仮定に基づいている。
我々は,デバッグ品質を改善するための言語実装のモチベーションとして,ツールによって計算可能な,いくつかの新しいメトリクスを提案する。
論文 参考訳(メタデータ) (2024-02-07T13:01:28Z) - Towards a Transpiler for C/C++ to Safer Rust [0.10993800728351737]
RustはMozillaが開発したプログラミング言語で、パフォーマンスと安全性に重点を置いている。
既存のC++コードベースをRustに変換する方法も注目されている。
論文 参考訳(メタデータ) (2024-01-16T10:35:59Z) - 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) - Improving Long-Horizon Imitation Through Instruction Prediction [93.47416552953075]
本研究では、しばしば使われない補助的監督源である言語の使用について検討する。
近年のトランスフォーマーモデルの発展にインスパイアされたエージェントは,高レベルの抽象化で動作する時間拡張表現の学習を促す命令予測損失を持つエージェントを訓練する。
さらなる分析では、複雑な推論を必要とするタスクにおいて、命令モデリングが最も重要であり、単純な計画を必要とする環境において、より小さなゲインを提供する。
論文 参考訳(メタデータ) (2023-06-21T20:47:23Z) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
論文 参考訳(メタデータ) (2023-06-05T19:23:34Z) - Beyond the C: Retargetable Decompilation using Neural Machine
Translation [5.734661402742406]
我々は,新しい言語に容易に再ターゲティング可能なプロトタイプ・デコンパイラを開発した。
トークン化やトレーニングデータ選択などのパラメータが逆コンパイルの品質に与える影響について検討する。
トレーニングデータ、トレーニングされた逆コンパイルモデル、そして将来の言語に依存しない逆コンパイルの研究を促進するためのコードをリリースします。
論文 参考訳(メタデータ) (2022-12-17T20:45:59Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。