演化三重知识增强的大语言模型用于仓库级代码翻译
软件工程
2025-11-25 v3
摘要
大语言模型在无仓库上下文的函数级代码翻译中表现良好。然而,由于复杂的依赖关系和上下文,大语言模型在仓库级上下文代码翻译中的性能仍不理想,阻碍了其在工业环境中的应用。本文提出了一种新颖的基于大语言模型的代码翻译技术K-Trans,该技术利用三重知识增强来提升大语言模型在真实软件开发中仓库上下文下的翻译质量。首先,K-Trans通过从目标语言代码库、被翻译的仓库以及先前的翻译结果中提取相关信息,构建一个演化的翻译知识库。其次,对于每个待翻译的函数,K-Trans检索相关的三重知识,包括目标语言代码样本、依赖使用示例和成功的翻译函数对,作为参考以增强大语言模型的翻译。第三,K-Trans利用检索到的三重知识构建知识增强的翻译提示,并采用大语言模型生成保留仓库上下文的翻译代码。它还利用大语言模型进行自调试,提高翻译正确性。最后,K-Trans持续演化翻译知识库。实验表明,K-Trans在pass@1上相对改进19.4%/40.2%,在CodeBLEU上提高0.138,显著优于基于先前工作改编的基线。值得注意的是,结果还表明每种知识都对K-Trans处理仓库级上下文代码翻译的有效性有显著贡献,其中依赖使用示例贡献最为突出。此外,随着自演化过程的推进,知识库持续提升大语言模型在仓库级代码翻译各个方面的性能。
引用
@article{arxiv.2503.18305,
title = {Evolving Triple Knowledge-Augmented LLMs for Code Translation in Repository Context},
author = {Guangsheng Ou and Mingwei Liu and Yuxuan Chen and Xueying Du and Shengbo Wang and Zekai Zhang and Xin Peng and Zibin Zheng},
journal= {arXiv preprint arXiv:2503.18305},
year = {2025}
}