论文
AdaTrans:通过错误自适应修复自动将 C 转换为 Rust
AdaTrans: Automated C to Rust Transformation via Error-Adaptive Repair
摘要
由于 Rust 严格的所有权和借用语义,将 C 代码自动转换为 Rust 具有挑战性。虽然 大语言模型 (LLM) 表现出了希望,但它们经常生成违反这些规则或依赖于不安全构造的代码。我们提出了 AdaTrans,这是一个通过三个核心机制解决这些问题的框架:将编译器错误映射到特定修复的策略驱动检索增强生成(RAG)机制、根据错误类型调整其行为的错误分层转换策略(ESTS)以及确保可编译性和功能等效性的多阶段验证管道。在包含 104 个算法问题的数据集上进行评估,AdaTrans 的平均编译通过率为 95.51%,平均解决率为 81.09%,显着优于现有工具,同时保持仅 1.19% 的不安全文件率。