論文の概要: Translating Large-Scale C Repositories to Idiomatic Rust
- arxiv url: http://arxiv.org/abs/2511.20617v1
- Date: Tue, 25 Nov 2025 18:42:46 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-11-26 17:37:04.623024
- Title: Translating Large-Scale C Repositories to Idiomatic Rust
- Title(参考訳): 大規模Cリポジトリを慣用的なRustに変換する
- Authors: Saman Dehghan, Tianran Sun, Tianxiang Wu, Zihan Li, Reyhaneh Jabbarvand,
- Abstract要約: 既存のC to Rustの変換テクニックでは、品質とスケーラビリティのバランスが取れない。
本稿では、効率的なリポジトリレベルのCから慣用的な安全なRust翻訳のための、完全に自動化されたパイプラインであるRustineを提案する。
- 参考スコア(独自算出の注目度): 12.221834497939897
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Existing C to Rust translation techniques fail to balance quality and scalability: transpilation-based approaches scale to large projects but produce code with poor safety, idiomaticity, and readability. In contrast, LLM-based techniques are prohibitively expensive due to their reliance on frontier models (without which they cannot reliably generate compilable translations), thus limiting scalability. This paper proposes Rustine, a fully automated pipeline for effective and efficient repository-level C to idiomatic safe Rust translation. Evaluating on a diverse set of 23 C programs, ranging from 27 to 13,200 lines of code, Rustine can generate fully compilable Rust code for all and achieve 87% functional equivalence (passing 1,063,099 assertions out of 1,221,192 in test suites with average function and line coverage of 74.7% and 72.2%). Compared to six prior repository-level C to Rust translation techniques, the translations by Rustine are overall safer (fewer raw pointers, pointer arithmetic, and unsafe constructs), more idiomatic (fewer Rust linter violations), and more readable. When the translations cannot pass all tests to fulfill functional equivalence, human developers were able to complete the task in 4.5 hours, on average, using Rustine as debugging support.
- Abstract(参考訳): トランスパイレーションベースのアプローチは大規模プロジェクトにスケールするが、安全性、慣用性、可読性に乏しいコードを生成する。
対照的に、LLMベースの技術はフロンティアモデルに依存しているため(コンパイル可能な翻訳を確実に生成できない)、スケーラビリティが制限されるため、非常に高価である。
本稿では、効率的なリポジトリレベルのCから慣用的な安全なRust翻訳のための、完全に自動化されたパイプラインであるRustineを提案する。
27行から13,200行のコードを含む23のCプログラムの多様なセットを評価して、Rustineは完全なコンパイル可能なRustコードを生成することができ、87%の関数同値を達成することができる(平均関数とラインカバレッジ74.7%と72.2%のテストスイートでは、1,063,099のアサーションが1,221,192に含まれている)。
以前の6つのリポジトリレベルのCからRustへの変換テクニックと比較して、Rustineによる変換は、全体的な安全性(生ポインタ、ポインタ演算、安全でない構造)、より慣用性(Rustのlinter違反が少ない)、より読みやすくなっている。
翻訳が機能的等価性を満たすためにすべてのテストに合格できない場合、人間開発者は平均4.5時間でタスクを完了することができ、Rustineをデバッグサポートとして使用した。
関連論文リスト
- RustAssure: Differential Symbolic Testing for LLM-Transpiled C-to-Rust Code [2.1413732583497826]
Rustは、ソフトウェアのセキュリティを大幅に改善するメモリセーフなプログラミング言語である。
Cのような安全でないメモリ言語で書かれた既存のものは、Rustの改善された安全性保証を活用するために、まずRustにコンパイルされなければならない。
RustAssureは、Large Language Models(LLM)を使用して既存のCをRustに自動的にトランスパイルするシステムを提供する。
論文 参考訳(メタデータ) (2025-10-08T22:52:34Z) - Adversarial Agent Collaboration for C to Rust Translation [13.65848262530917]
ACToRは、我々のベンチマークで考慮された63の現実世界のコマンドラインユーティリティを全て翻訳します。
テストパス率は90%を超え、人間の介入はゼロである。
このスケールのCプログラムを確実に翻訳する最初のシステムである。
論文 参考訳(メタデータ) (2025-10-04T17:08: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) - RustMap: Towards Project-Scale C-to-Rust Migration via Program Analysis and LLM [13.584956125542396]
Rustは、Cのパフォーマンスを維持しながら、優れたメモリ安全性を提供する。
C2Rustのような既存の自動翻訳ツールは、構文的、テンプレートベースの翻訳に依存しすぎている可能性がある。
本稿では,新しい依存誘導型大規模言語モデル (LLM) をベースとしたC-to-Rust変換手法であるRustMapを提案する。
論文 参考訳(メタデータ) (2025-03-22T11:57:45Z) - RustRepoTrans: Repository-level Code Translation Benchmark Targeting Rust [50.65321080814249]
RustRepoTransは、インクリメンタル翻訳をターゲットにした、最初のリポジトリレベルのコンテキストコード変換ベンチマークである。
複雑な翻訳シナリオの制約を評価するために, 7つの代表的なLLMを評価し, それらの誤差を分析した。
論文 参考訳(メタデータ) (2024-11-21T10:00:52Z) - CRUXEval-X: A Benchmark for Multilingual Code Reasoning, Understanding and Execution [50.1875460416205]
CRUXEVAL-Xコード推論ベンチマークには19のプログラミング言語が含まれている。
各言語に対して少なくとも600人の被験者で構成され、合計19Kのコンテンツ一貫性テストがある。
Pythonでのみトレーニングされたモデルでさえ、他の言語で34.4%のPass@1を達成することができる。
論文 参考訳(メタデータ) (2024-08-23T11:43:00Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。