DistiLRR: Transferring Code Repair for Low-Resource Programming Languages

2024年06月21日
  • 简介
    大型语言模型(LLMs)在代码生成任务中表现出了卓越的性能。最近LLMs在迭代式代码修复中的应用是通过理性思考错误并生成新程序来修复不正确的程序。然而,代码修复主要研究高资源语言(如Python),该框架在低资源语言上的有效性尚未得到充分探索。为了将代码修复应用于低资源语言,我们提出了“蒸馏低资源修复”(DistiLRR)的方法,该方法将教师模型的推理和代码生成能力转移到学生模型上。我们的结果表明,DistiLRR在低资源语言上始终优于基准线,但在高资源语言上的表现相似。为了调查这种行为,我们进行了进一步的分析,并发现理性质量与代码正确性之间的相关性比以前认为的要弱。我们假设这种弱点在低资源环境中被放大,因为基础模型缺乏对编程语言的深入了解,导致代码修复在高资源和低资源语言之间的效益摇摆不定。
  • 图表
  • 解决问题
    本文旨在解决在低资源语言上应用代码修复的问题,提出了一种新的方法DistiLRR,通过将教师模型的推理和代码生成能力转移到学生模型上,来实现代码修复。
  • 关键思路
    DistiLRR是一种迁移学习方法,通过在高资源语言上训练教师模型,然后将其知识转移到低资源语言的学生模型上,从而实现在低资源语言上的代码修复。
  • 其它亮点
    本文的实验结果表明,DistiLRR在低资源语言上的表现优于基线模型,但在高资源语言上表现相似。作者还发现,代码修复的效果与其理由的质量之间的相关性比之前认为的要弱,这一弱点在低资源设置中被放大。本文使用了多个数据集进行实验,并公开了代码。值得深入研究的工作包括如何提高低资源语言上代码修复的效果。
  • 相关研究
    最近在代码修复领域的相关研究包括:《Neural Program Repair by Jointly Learning to Localize and Repair》、《Repairing Programs with Semantic Code Search》、《Learning to Repair Software Vulnerabilities with Generative Adversarial Networks》等。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论