论文
CodeTransBenchmark:跨编程语言评估基于 LLM 的代码翻译和修复
CodeTransBenchmark: Evaluating LLM-based Code Translation and Repair Across Programming Languages
摘要
在广泛的文本和代码语料库上进行预训练的大型语言模型(LLM)显示出有前途的代码生成能力,并在代码翻译领域引起了越来越多的关注。在这项工作中,我们研究了大语言模型在代码翻译和翻译错误修复方面的有效性。首先,我们提出了 CodeTransBenchmark,一个用于评估基于 LLM 的翻译和修复的框架,并设计了一种后处理策略,以从不一致的 LLM 输出中提取代码。然后,我们讨论了一项实证研究,该研究评估了三个数据集和 12 个语言对的八个模型,其中我们按错误对不正确的翻译进行分类,以识别现有大语言模型的弱点。我们的工作表明,虽然像 Codestral 这样经过专门训练的多语言编码大语言模型可以正确翻译大部分代码,但大多数通用模型都难以应对目标语言的语法规则。对错误翻译的分析揭示了所涉及的编程语言和训练数据之间的相互关系对有效性的重大影响。我们表明,通用的后处理方法必须容忍不一致并利用 LLM 答案的可预测性。此外,我们还表明,通过自动反馈进行迭代翻译修复可显着提高翻译准确性。虽然我们的综合研究结果强调了大语言模型自动化代码翻译的潜力,但在实践中有效部署基于大语言模型的代码翻译需要具有更大上下文窗口的模型。