SpecTra: Enhancing the Code Translation Ability of Language Models by Generating Multi-Modal Specifications

2024年05月28日
  • 简介
    大型语言模型(LLMs)越来越被用于自动化代码翻译的任务,这在实际应用中非常重要。然而,大多数现有的方法仅使用程序的源代码作为LLM的输入,而不考虑可以从程序中提取的不同类型的规范。在本文中,我们提出了SpecTra,这是一种多阶段方法,它使用一种新颖的自洽性过滤器,首先从给定的程序生成高质量的静态规范、测试用例和自然语言描述,然后使用这些规范和源代码来提高LLM生成的翻译质量。我们在三个代码翻译任务上评估了SpecTra——从C到Rust,从C到Go,以及从JavaScript到TypeScript,并表明它可以将这些任务中六个流行的LLM的性能提高高达10个百分点和相对改进26%。我们的研究表明,生成高质量的规范可能是改善LLMs用于代码翻译的性能的一种有前途和高效的方法。我们提供我们的代码和数据供审阅匿名使用。
  • 图表
  • 解决问题
    提高大型语言模型在代码翻译任务上的表现,通过生成高质量的静态规范来改善翻译质量。
  • 关键思路
    通过自洽性筛选生成高质量的静态规范、测试用例和自然语言描述,并将其与源代码一起使用,以提高LLM在代码翻译任务上的表现。
  • 其它亮点
    论文提出了SpecTra,一种多阶段方法,可将静态规范、测试用例和自然语言描述与源代码一起使用,以提高LLM在代码翻译任务上的表现。在三个代码翻译任务上进行了评估,结果表明,SpecTra 可以将六种流行的LLM的性能提高多达10个百分点和相对改进26%。作者公开了代码和数据集。
  • 相关研究
    最近的相关研究包括使用不同的神经网络模型进行代码翻译,以及使用不同的技术来提高LLM在代码翻译任务上的性能。相关论文包括《CodeBERT: A Pre-Trained Model for Programming and Natural Language Processing》和《Improving Neural Code Generation with Planning-Based Beam Search》。
许愿开讲
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论