Toward LLM-based Large-scale C-to-Rust Code Translation

概要

RustはCに比べてメモリ安全性が高い言語として注目を集めており、既存のCプログラムをRustに変換することへの強い動機がある。これまでの研究では、LLMsを用いたコード翻訳が検討されてきたが、数百行のプログラムであってもRustコードを正常にコンパイルすることが困難であることが示されている。私たちは、パースデータを活用したLLMベースの翻訳スキームを提案している。これまでの観察では、元のCコードを解析し、参照されている要素から厳密に変換を行い、使用される関数のシグネチャやデータ型の定義といった参照要素の情報を、変換フェーズとコンパイル修復フェーズの両方でプロンプトに含めることで、生成されたコードのコンパイル成功率と等価性が向上することが分かっている。

タイプ
収録
In 15th ACM SIGOPS Asia-Pacific Workshop on Systems
白石 桃子
博士3年
システム情報学専攻

東京大学品川研究室

品川 高廣
品川 高廣
教授

東京大学大学院情報理工学系研究科コンピュータ科学専攻教授