Large Language Model-Powered Agent for C to Rust Code Translation
a year ago
- #Memory-Safety
- #LLM
- #C-to-Rust
- C语言是系统级软件开发的基础,但存在内存安全问题。
- Rust是现代、内存安全的C语言替代方案。
- 大语言模型正被用于自动化将遗留代码从C转换为Rust。
- 现有基于大语言模型的方法将其限制在静态提示-响应行为中。
- C转Rust面临的挑战包括缺乏并行数据集和未定义的中间步骤。
- 提出的解决方案:基于虚拟模糊测试的等价性验证(VFT)和大语言模型驱动的C转Rust代码翻译代理(LAC2R)。
- VFT帮助识别C与Rust代码间的行为差异。
- LAC2R使用蒙特卡洛树搜索(MCTS)组织中间步骤以确保正确翻译。
- LAC2R在大型真实基准测试中展现了有效性。