AdaTrans:通过错误自适应修复实现 C 到 Rust 的自动转换
软件工程
2026-06-30 v1
摘要
由于 Rust 严格的所有权和借用语义,将 C 代码自动转换为 Rust 具有挑战性。虽然大型语言模型(LLM)显示出潜力,但它们经常生成违反这些规则或依赖不安全构造的代码。我们提出了 AdaTrans,一个通过三个核心机制解决这些问题的框架:策略驱动的检索增强生成(RAG)机制,将编译器错误映射到特定修复;错误分层转换策略(ESTS),根据错误类型调整其行为;以及一个多阶段验证流水线,以确保可编译性和功能等价性。在包含 104 个算法问题的数据集上评估,AdaTrans 实现了 95.51% 的平均编译通过率和 81.09% 的平均解决率,显著优于现有工具,同时将不安全文件率保持在仅 1.19%。
引用
@article{arxiv.2606.31706,
title = {AdaTrans: Automated C to Rust Transformation via Error-Adaptive Repair},
author = {Xiaofan Liu and Zecan Li and Zhuang Zhao and Ziqi Shuai and Yanming Yang and Qi Xin and Jifeng Xuan},
journal= {arXiv preprint arXiv:2606.31706},
year = {2026}
}
备注
37 pages, 10 figures