論文の概要: Validated Code Translation for Projects with External Libraries
- arxiv url: http://arxiv.org/abs/2602.18534v1
- Date: Fri, 20 Feb 2026 10:55:14 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-02-24 17:42:02.145779
- Title: Validated Code Translation for Projects with External Libraries
- Title(参考訳): 外部ライブラリを持つプロジェクトのためのコード翻訳の検証
- Authors: Hanliang Zhang, Arindam Sharma, Cristina David, Meng Wang, Brandon Paulsen, Daniel Kroening, Wenjia Ye, Taro Sekiyama,
- Abstract要約: 外部依存のGoプロジェクトをRustに変換するための翻訳と検証のフレームワークを提示する。
このアプローチでは、(i)GoライブラリAPIをRust APIにマッピングする検索メカニズムと、(ii)言語間の検証パイプラインを組み合わせています。
我々は,非自明な外部依存関係を持つ実世界のGoリポジトリを6つ評価した。
- 参考スコア(独自算出の注目度): 8.31687433629915
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Large Language Models (LLMs) have shown promise for program translation, particularly for migrating systems code to memory-safe languages such as Rust. However, existing approaches struggle when source programs depend on external libraries: LLMs frequently hallucinate non-existent target APIs and fail to generate call-enabling imports; moreover, validating semantic equivalence is challenging when the code manipulates opaque, library-defined types. We present a translation and validation framework for translating Go projects with external dependencies to Rust. Our approach combines (i) a retrieval mechanism that maps Go library APIs to Rust APIs, and (ii) a cross-language validation pipeline that establishes language interoperability in the presence of opaque library types by synthesising adapters exclusively from public library APIs, prior to validating I/O equivalence. We evaluate our system on six real-world Go repositories with non-trivial external dependencies. Our approach significantly increases both the compilation and equivalence success rate (up to 100% in the most dependency-heavy case; approx. 2x on average) by enabling validated translation that manipulate opaque, library-defined types.
- Abstract(参考訳): 大規模言語モデル(LLM)は、特にRustのようなメモリセーフな言語にシステムを移行するためのプログラム翻訳を約束している。
しかし、ソースプログラムが外部ライブラリに依存している場合、既存のアプローチは困難である: LLMは、既存のターゲットAPIを幻覚し、呼び出しを起動するインポートを生成するのに失敗する。
外部依存のGoプロジェクトをRustに変換するための翻訳と検証のフレームワークを提示する。
私たちのアプローチは組み合わさる
i) GoライブラリAPIをRust APIにマップする検索メカニズム、
(ii)I/O等価性を検証する前に,公開ライブラリAPIからのみアダプタを合成することにより,不透明なライブラリタイプの存在下で言語相互運用性を確立する,言語間検証パイプライン。
我々は,非自明な外部依存関係を持つ実世界のGoリポジトリを6つ評価した。
提案手法は,不透明なライブラリ定義型を操作する検証された翻訳を可能にすることにより,コンパイルと等価性の成功率(最も依存度の高い場合では最大100%,平均2倍)を著しく向上させる。
関連論文リスト
- IFEvalCode: Controlled Code Generation [69.28317223249358]
本稿では,Code LLMの命令追従能力を改善するために,前方および後方制約生成を提案する。
IFEvalCodeは、7つのプログラミング言語の1.6Kテストサンプルからなる多言語ベンチマークである。
論文 参考訳(メタデータ) (2025-07-30T08:08:48Z) - How Robust are LLM-Generated Library Imports? An Empirical Study using Stack Overflow [3.076436880934678]
6つの大言語モデル(LLM)の実証的研究を行う。
我々は、インポートするライブラリの種類、それらのライブラリの特徴、レコメンデーションがすぐに使える範囲を分析します。
以上の結果から,LSMは標準ライブラリよりもサードパーティライブラリを優先し,成熟し,人気があり,寛容にライセンスされた依存関係を推奨することが多かった。
論文 参考訳(メタデータ) (2025-07-14T21:35:29Z) - RAILS: Retrieval-Augmented Intelligence for Learning Software Development [0.0]
GPT-3.5-Turboのような大規模言語モデル(LLM)は、外部またはプロジェクト固有のドキュメントにアクセスできない場合、不完全なコードや不正なインポートを生成する。
我々は、LLMプロンプトを拡張するフレームワークであるRAILSを紹介し、キュレートされたリソースから意味的に検索されたコンテキストを付加する。
RAILSを、標準ライブラリ、GUI API、外部ツール、カスタムユーティリティにまたがる78の現実世界のJavaインポートエラーケースで評価した。
論文 参考訳(メタデータ) (2025-06-28T03:30:04Z) - Scalable, Validated Code Translation of Entire Projects using Large Language Models [13.059046327936393]
大規模言語モデル(LLM)は、慣用的なコードを生成する能力のため、コード翻訳において有望であることを示す。
既存の作品では、100行以上のコードに対する翻訳の成功率が低下している。
私たちは、コードを独立した翻訳が可能な小さなコードフラグメントに分割する、トランスフォーメーションのためのモジュラーアプローチを開発しています。
我々は,最大6,600行のコードと369の関数に対して,信頼性の高いRustを一貫して生成できることを示し,平均73%の関数をI/O同値で検証した。
論文 参考訳(メタデータ) (2024-12-11T02:31:46Z) - Commit0: Library Generation from Scratch [77.38414688148006]
Commit0は、AIエージェントにスクラッチからライブラリを書くよう促すベンチマークである。
エージェントには、ライブラリのAPIを概説する仕様文書と、インタラクティブなユニットテストスイートが提供されている。
Commit0はまた、モデルが生成したコードに対して静的解析と実行フィードバックを受け取る、インタラクティブな環境も提供する。
論文 参考訳(メタデータ) (2024-12-02T18:11:30Z) - A Study of Undefined Behavior Across Foreign Function Boundaries in Rust Libraries [2.359557447960552]
Rustは、他の言語との相互運用に頻繁に使用される。
Miriは、これらのモデルに対してアプリケーションを検証できる唯一の動的解析ツールである。
Miriは、外部機能のバグ発見をサポートしておらず、Rustエコシステムに重大な正当性ギャップがあることを示唆している。
論文 参考訳(メタデータ) (2024-04-17T18:12:05Z) - LILO: Learning Interpretable Libraries by Compressing and Documenting Code [71.55208585024198]
LILOは、反復的に合成、圧縮、文書化を行う、ニューロシンボリックなフレームワークである。
LILOは、LLM誘導プログラム合成と、Stitchから自動化された最近のアルゴリズムの進歩を組み合わせたものである。
LILOのシンセサイザーが学習した抽象化を解釈し、デプロイするのを手助けすることで、AutoDocがパフォーマンスを向上させることが分かりました。
論文 参考訳(メタデータ) (2023-10-30T17:55:02Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。