Rectifier: Code Translation with Corrector via LLMs

2024年07月10日
  • 简介
    软件迁移随着软件和社会的发展而受到越来越多的关注。早期的研究主要依赖手工制作的翻译规则来翻译两种语言之间的代码,这种翻译过程容易出错且耗时。近年来,研究人员开始探索在代码翻译中使用预训练的大型语言模型(LLMs)。然而,代码翻译是一项复杂的任务,LLMs在执行代码翻译任务时会产生错误,它们都会产生某些类型的错误,包括(1)编译错误,(2)运行时错误,(3)功能错误和(4)非终止执行。我们发现这些错误的根本原因非常相似(例如,无法导入包,循环边界错误,运算符错误等)。在本文中,我们提出了一种通用的修正器,即Rectifier,它是一种微型通用模型,用于修复翻译错误。它从现有LLMs生成的错误中学习,并可以广泛应用于修正任何LLMs生成的错误。在C++,Java和Python之间的翻译任务上的实验结果表明,我们的模型具有有效的修复能力,交叉实验也证明了我们方法的鲁棒性。
  • 图表
  • 解决问题
    本论文旨在解决使用大型语言模型进行代码翻译时产生的错误问题,提出了一种名为Rectifier的微型通用模型来纠正翻译错误。
  • 关键思路
    Rectifier模型学习自现有LLMs生成的错误,并可以广泛应用于纠正任何LLM生成的错误,通过实验结果证明了其有效性和鲁棒性。
  • 其它亮点
    该论文通过提出Rectifier模型解决了LLMs在代码翻译中产生的错误问题,实验结果表明其具有较好的修复能力和鲁棒性。论文使用的数据集包括C++、Java和Python,同时也开源了代码。
  • 相关研究
    相关研究包括手工翻译规则和使用LLMs进行代码翻译的研究。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论