推动面向仓库级别代码翻译的自动隔离验证:TRAM 方法突破
软件工程
2025-12-24 v2 编程语言
摘要
仓库级别代码翻译旨在自动地将整个代码仓库跨编程语言迁移,同时保持功能完整性。尽管在仓库级别代码翻译方面取得了进展,但验证翻译结果仍然具有挑战性。本文提出了TRAM方法,结合了基于上下文的类型解析与基于mock的隔离验证,实现了在编程语言之间进行高质量翻译。翻译前,TRAM会检索每个变量类型在源语言中的API文档和上下文代码信息。随后,TRAM会将检索到的上下文信息输入大语言模型(LLM),以精确的语义解释解析跨语言的类型映射。通过自动构建的类型映射,TRAM采用自定义的序列化/反序列化工作流程,自动在目标语言中构建等效的mock对象。这样,每个方法片段都可以在隔离环境中进行验证,而无需为翻译验证使用代理,或依赖语言互操作性的现有方法所需的高额手动工作量。TRAM在Java到Python翻译中展示了最新的性能,凸显了其将RAG-based类型解析与可靠隔离验证集成的有效性。
引用
@article{arxiv.2511.21878,
title = {Advancing Automated In-Isolation Validation in Repository-Level Code Translation},
author = {Kaiyao Ke and Ali Reza Ibrahimzada and Rangeet Pan and Saurabh Sinha and Reyhaneh Jabbarvand},
journal= {arXiv preprint arXiv:2511.21878},
year = {2025}
}