Exploring and Unleashing the Power of Large Language Models in Automated Code Translation

本文是LLM系列文章,针对《Exploring and Unleashing the Power of Large Language Models in Automated Code Translation》的翻译。

探索和释放大型语言模型在自动代码翻译中的力量

摘要

代码翻译工具,即转译器,是为自动源到源翻译而开发的。最新的基于学习的转译器在翻译准确性和可读性方面都比基于规则的转译者有了显著的提高,这是由于它们在广泛的单语语料库上进行了针对特定任务的预训练。然而,他们目前的表现对于实际部署来说仍然不能令人满意,相关的训练资源也过于昂贵。大型语言模型(LLM)在大量人类编写的代码/文本上进行了预训练,由于其强大的通用性,即使没有针对特定任务的重新训练/微调,也在许多代码智能任务中表现出了卓越的性能。因此,LLM可以潜在地规避上述限制,但它们还没有被彻底探索。本文研究了用于自动代码翻译任务的各种LLM和基于学习的转译器,发现:尽管某些LLM的性能优于当前的转译机,但它们仍然存在一些准确性问题,其中大多数故障是由于对源程序缺乏理解(38.51%)、翻译中缺少关于I/O类型的明确指令(14.94%)以及忽略源程序和目标程序之间的差异(41.38%)造成的。受上述发现的启发,我们进一步提出了适用于各种LLM的统一代码翻译框架UniTrans,以释放其在这一领域的力量。具体来说,UniTrans首先在源程序的帮助下为目标程序制作了一系列测试用例。接下来,它利用上述自动生成的测试用例来增强代码翻译,然后通过执行来评估其正确性。之后,UniTrans进一步(迭代地)修复测试用例执行结果提示的错误翻译的程序。在Python、Java和C++之间的六种翻译数据集设置上进行了广泛的实

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UnknownBody

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值