百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 文章教程 > 正文

利用LLMs实现现实世界代码的翻译:一项针对翻译到Rust语言的研究

yund56 2025-07-26 01:33 4 浏览

本次分享论文:Towards Translating Real-World Code with LLMs: A Study of Translating to Rust

基本信息

原文作者:Hasan Ferit Eniser, Hanliang Zhang, Cristina David, Meng Wang, Maria Christakis, Brandon Paulsen, Joey Dodds, Daniel Kroening

作者单位:MPI-SWS, University of Bristol, TU Wien, Amazon Web Services, Inc.

关键词:代码翻译,Rust语言,大语言模型(LLMs),差分模糊测试,自动化反馈

原文链接:
https://arxiv.org/pdf/2405.11514

开源代码:暂无

论文要点

论文简介:本论文探讨了利用大语言模型(LLMs)进行代码翻译的能力,特别是从其他编程语言翻译到Rust语言。研究主要评估了五种先进的LLMs,包括GPT-4、Claude 3等,在处理实际开源项目代码时的表现。为此,作者开发了一种名为FLOURINE的端到端代码翻译工具,通过差分模糊测试验证Rust翻译的输入/输出等效性,从而消除了对预先存在的测试用例的需求。研究显示,最成功的LLM可以翻译47%的基准代码,并提供了改进的见解。

研究目的:随着对Rust等安全编程语言的兴趣增加,将潜在的有缺陷的旧代码翻译成现代语言的需求也在增加。论文旨在回答大语言模型是否能有效地翻译真实世界的代码。为此,作者开发了一种新的工具FLOURINE,通过实际开源项目的代码进行测试和评估,研究大语言模型在生成初始翻译和修复错误翻译方面的能力。

研究贡献:

1. 开发了FLOURINE工具,能够在无需手写测试用例的情况下生成验证过的Rust翻译。

2. 构建了跨语言模糊测试器,能够在不同语言之间传递输入和输出。

3. 利用FLOURINE进行了首次大规模研究,评估了大语言模型在翻译真实世界代码方面的能力。

4. 证明了大语言模型能够翻译部分真实世界项目,并且直接向大语言模型提供反例反馈的效果不如重复原始提示。

5. 开源了所有代码、基准和结果,以便复现实验。

引言

代码翻译任务在编程语言之间变得越来越重要,尤其是在将可能有缺陷的旧代码翻译成Rust等现代安全语言的背景下。传统的“规则基础”翻译工具针对特定的源语言和目标语言,而大语言模型则有望胜任任意源语言和目标语言的翻译任务。过去的工作主要集中在竞赛编程网站、教育网站或手工设计的编码问题上,这些基准不具代表性。而本研究则着眼于真实世界的代码,利用大语言模型进行Rust翻译。

相关工作

相关工作主要分为代码翻译、跨语言差分模糊测试和大语言模型的反馈策略。多数代码翻译工作集中在竞赛编程风格的代码上,而本研究则评估了大语言模型在真实世界代码翻译中的表现。现有的跨语言差分模糊测试工作中,很少考虑不同语言实现的比较。

本研究开发的跨语言模糊测试工具是目前唯一一个尝试将不同语言编译成共享IR进行测试的工具。关于大语言模型的反馈策略,虽然有一些工作展示了使用反例反馈的成功,但我们的结果显示这种策略在大语言模型的代码翻译任务中效果并不好。

研究概述

本研究开发了一个名为FLOURINE的端到端代码翻译工具,旨在评估和改进大语言模型(LLM)在翻译真实世界代码时的表现。FLOURINE首先使用LLM生成候选翻译代码,然后应用编译驱动的修复,利用Rust编译器的错误信息进行逐步修复。一旦代码通过编译,FLOURINE使用跨语言差分模糊测试来验证翻译的输入/输出等效性,这种方法无需预先存在的测试用例。如果发现翻译不等效,工具将执行反馈策略,向LLM提供反例以修复错误翻译。数据集由七个开源项目的代码样本组成,这些项目涉及音频处理、文本处理、几何学、银行、二维三角测量、图算法和声卡仿真,确保翻译任务的多样性和复杂性。实验结果展示了LLM在生成和修复翻译代码方面的潜力,为未来的改进方向提供了宝贵的见解。

基于LLM代码翻译

本研究的代码翻译算法采用了迭代方法,首先通过大语言模型(LLM)生成候选翻译,然后通过编译驱动的修复阶段确保代码可以编译。编译驱动修复利用Rust编译器的错误信息进行逐步修复,以获得可编译的翻译代码。接着,使用跨语言差分模糊测试验证翻译代码与原始代码的输入/输出等效性。如果发现反例,则将这些反例反馈给LLM,以生成新的候选翻译。整个过程重复进行,直到找到通过所有测试的翻译代码或达到设定的迭代次数。

反馈策略

本研究评估了四种反馈策略,以提高代码翻译的成功率。简单重启策略在每次失败后重新生成翻译,不提供任何额外信息。提示重启策略在原始提示中加入模糊测试的正反例,帮助LLM识别正确行为和避免错误。基于反例的修复策略则将发现的反例反馈给LLM,要求其修正特定错误路径上的问题。对话式修复策略保留所有历史对话,每次在原提示基础上添加新的反例反馈,形成连续对话。结果显示,简单重启和提示重启效果最佳,而直接提供反例的策略效果不如预期。

研究评估

在研究评估中,我们对五种先进的LLM(包括GPT-4、Claude 3等)进行了8160次代码翻译实验,评估了它们在处理408个真实世界代码样本时的表现。结果显示,这些LLM的成功翻译率在21%至47%之间,且代码复杂度越高,翻译成功率越低。实验还揭示了反馈策略的有效性,尽管基于反例的修复策略效果不如预期,但简单重启和提示重启策略显著提高了成功率。研究还发现,LLM生成的Rust代码通常更简洁、语法更规范,但在某些情况下仍会产生非惯用或性能欠佳的代码。

论文结论

本研究展示了大语言模型在翻译真实世界代码方面的能力,并提出了FLOURINE工具作为验证Rust翻译的有效方法。尽管反例反馈在本研究中的效果不佳,但LLM在代码翻译任务中展示了显著的潜力。未来的研究可以进一步优化反馈策略和模糊测试器,以提高翻译的成功率和代码质量。

原作者:论文解读智能体

校对:小椰风

相关推荐

网站制作新手教程是什么?这些步骤要知道

网站建设/网站搭建,咨询可戳「链接」网站制作新手教程是什么呢?对于设计网站的步骤前期的时候是沟通、然后是制作,后面是调试网站,这些都是网站制作的步骤。下面给大家说一下企业用户在网站制作前期沟通步骤,大...

如何制作网站?网站建设的10个关键步骤

拥有一个美观优雅、体验良好的网站,不仅是现代公司的形象工程,更是企业获取客户、服务客户最直接高效的媒介。网站建设是极其专业的工作,需要前期策划、设计界面、开发程序和维护优化等专业人士的参与。这里分享...

企业官网制作流程——网站自己做想“白嫖”吗

人人都想创业,只有创业才能有更好的出路。然而以我们年轻人举例,创业初期都是最困难的时候,特别是资金压力。一个正规的企业,都有一个属于自己的网站,找外面科技公司开价就是几千或者上万,这让很多初创企业断了...

昌乐县公司网站制作详细步骤(昌乐网站优化公司)

在进行昌乐县网站制作之前,公司首先需要确定网站的目标与定位,并了解相关用户群体及其需求。接着进行以下流程:一、需求分析1.确定网站类型:企业宣传型、电子商务型、论坛社交型等。2.收集资料:包括公司简介...

华企商城怎么制作网站教程教你轻松制作网站

说到怎么制作网站我们一般可能会觉得没有头绪不知道从哪里下手,这里华企商城怎么制作网站教程教你轻松制作网站,华企商城是一家可以提供一站式服务的公司,我们不仅可以为客户创建各种类型网网站,而且我们还可以进...

企业网站搭建难吗?如何建立一个小型企业网站?

企业网站搭建难吗?diy小网站不难,如你想小型企业如何开启在线之旅?小伙伴们,今天我要和你们探讨一个话题:企业网站搭建到底难不难?特别是对于小型企业而言,如何轻松入门?跟着我一起来看看。·一、网站搭建...

给公司制作网站,应该做成什么样子?

以我观察,现在的公司网站大部分都是一个模式。就是最简单的网页展示型,仅仅包含了最基础的公司简介、产品详情、联系方式、招聘信息等内容。网站存在的唯一目的,貌似只是告诉人们,“你看,我们公司有个官网!”,...

公司网站如何建立(公司如何创建网站)

要建立一个公司网站,可以按照以下步骤进行:第一步、明确目标确定公司网站的目标和定位。考虑网站的用途是宣传公司形象、推广产品/服务、提供客户支持等,以便确定网站的内容和功能。第二步、域名注册选择一个适合...

公司网站怎么做?「公司网站」(公司网站怎么设计)

每家公司都会有它的网站,因为在这个互联网时代,没有自己的公司网站就不容易被用户找到的,就等于是损失了很多客户资源。那么公司网站怎么做呢?今天教大家做公司网站的简单方法。一、注册域名域名是访问网站的地址...

公司网站制作指南(公司网站制作指南书籍)

一、引言随着互联网的快速发展,公司网站已成为企业展示形象、推广产品、与客户沟通的重要平台。一个优秀的公司网站不仅能提升企业的品牌形象,还能有效吸引潜在客户,增加业务机会。本文将为您详细介绍如何制作一个...

详谈公司网页制作搭建流程步骤有哪些

公司网页制作搭建流程步骤可大致分为以下几个部分:需求分析、策划、设计、开发、测试、上线、维护。下面我将详细介绍每个步骤。一、需求分析需求分析是网页制作搭建流程的第一步。在这个阶段,我们需要与客户沟通,...

怎么制作自己的网站,建网站的详细步骤

自助建站平台通过引入可视化设计网站的创新方式,彻底颠覆了传统网站建设的复杂流程,极大地降低了建站的门槛,使得即便是没有任何技术背景,甚至被戏称为“技术小白”的普通人,也能轻松驾驭这一过程,创造出既具备...

公司网站制作需要几个步骤?附教程

许多公司都会搭建一个属于自己的企业网站,他们利用网站进行宣传、发布产品、招商招聘等等。随着网络技术的进步,网页制作技术也开始成熟起来,有更多的方法和方式能搭建一个网站了。如果你想为你的公司也制作一个企...

企业网站建设流程:制作网站的基本步骤

企业网站建设流程:制作网站的基本步骤企业制作网站一般都会有一套合理的流程步骤,虽说任何企业网站建设都不会有一个固定的模式,但遵循这些指导性的流程步骤,最起码可以提高企业建设网站的效率,同时还能减少建设...

自己如何制作网站,用网站模板轻松做出企业网站

平台的创建,便于人们认识企业,了解企业,所以网站的重要性,大家都知道,可以展示企业文化,企业的产品以及环境,制造网站,花多少钱来制作是企业负责人要重点了解的,今天小编分享在乔拓云,用最简单的方法——复...