From Effectiveness to Efficiency: Comparative Evaluation of Code Generated by LCGMs for Bilingual Programming Questions

2024年06月02日
  • 简介
    大型代码生成模型(LCGM)在各种编程任务中引起了广泛关注并取得了有希望的结果。然而,当使用非英语提示时,性能问题会引起关注,因为这些模型主要是在以英语为中心的语料库上训练的,而大多数编程语言标记类似于英语。现有基准测试通常依赖于英语编程问题和有限的手动单元测试用例,不能充分评估LCGM生成的代码质量。本文研究了在不同的自然语言输入下使用代码质量的差异,特别是中英文,因为它们拥有突出的语料库和LCGM可用性。在双语输入下评估LCGM生成的代码质量面临三个挑战:(1)缺乏高质量的双语编程问题数据集,(2)不足的单元测试用例以进行全面的正确性验证,(3)有限的支持用于比较生成的代码性能。为了解决这些挑战,我们策划了一个由52个双语编程问题组成的测试套件,并为每个问题开发了自动输入生成器。我们通过抽样更大的单元测试用例来增强正确性验证,并通过相对于输入大小增长的执行时间进行代码性能估计。使用这个框架,我们对六种最先进的LCGM进行了实证研究。结果显示,平均有10.5%的任务的LCGM生成的代码表现出不同的双语正确性,39.5%的正确代码显示出不同的双语性能差异。我们的研究结果表明,LCGM可能无法在不同的语言环境下一致地生成高质量的代码,为未来的研究方向提供了启示。
  • 图表
  • 解决问题
    本文旨在研究大型代码生成模型在中英文输入下生成代码的质量差异,主要关注代码的正确性和效率。目前已有的基准测试主要依赖于英文编程问题,无法充分评估不同语言输入下的代码质量。
  • 关键思路
    为了解决这个问题,本文构建了一个包含52个中英文双语编程问题的测试套件,并为每个问题开发了自动输入生成器。通过采样更大的单元测试案例来增强正确性验证,并通过相对于输入大小增长的性能分析来估计代码性能。使用这个框架,作者对六种最先进的大型代码生成模型进行了实证研究。
  • 其它亮点
    本文的亮点包括:构建了一个包含中英文双语编程问题的测试套件,开发了自动输入生成器,增强了正确性验证;通过相对于输入大小增长的性能分析来估计代码性能;实证研究发现,大型代码生成模型在不同语言输入下生成的代码质量存在差异。
  • 相关研究
    最近的相关研究包括:《CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generation》、《CodeBERT: A Pre-Trained Model for Programming and Natural Language Processing》、《Improving Code Generation by Modeling Structural and Textual Information》等。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论