Synthetic Programming Elicitation and Repair for Text-to-Code in Very Low-Resource Programming Languages

2024年06月05日
  • 简介
    最近针对代码应用的大型语言模型(LLMs)取得了显著的进展,展示了在测试用例生成和自我修复等具有挑战性的代码相关任务中的惊人零-shot流畅性和指令遵循能力。然而,不足为奇的是,模型在编程语言中无法组合出语法有效的程序,这些编程语言在预训练中没有代表,被称为非常低资源的编程语言(VLPLs)。VLPLs出现在关键的环境中,包括用于工具和工具链内部的领域特定语言和遗留语言。受自然程序引出技术的启发,我们提出了一种中间语言的设计,LLMs“自然”知道如何使用,并且可以自动编译到目标VLPL。具体来说,我们介绍了一种名为合成编程引出和编译(SPEAK)的方法,使LLMs能够为VLPLs生成语法有效的代码。我们在一个案例研究中对SPEAK的性能进行了实证评估,并发现,与现有的检索和微调基线相比,SPEAK更频繁地生成语法正确的程序,而不会牺牲语义正确性。
  • 图表
  • 解决问题
    论文旨在解决LLMs在低资源编程语言(VLPLs)中合成句法有效程序的问题,这是一个新问题。
  • 关键思路
    论文提出了一种中间语言SPEAK,它充当LLMs和VLPL之间的桥梁,使得LLMs可以自然地生成句法有效的代码。SPEAK通过结合自然程序引出和编译技术来实现。
  • 其它亮点
    论文通过实验验证了SPEAK的有效性,并发现相比于现有的检索和微调基线,SPEAK可以更频繁地生成句法正确的程序而不牺牲语义正确性。
  • 相关研究
    最近的相关研究包括利用LLMs进行代码生成和自然程序引出技术,但这些方法都无法解决VLPLs的问题。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论