DebugBench: Evaluating Debugging Capability of Large Language Models

2024年01月09日
  • 简介
    大型语言模型(LLMs)展示了出色的编码能力。然而,作为编程能力的另一个重要组成部分,LLMs的调试能力仍然相对未被探索。以往对LLMs调试能力的评估受到数据泄漏风险、数据集规模和测试缺陷种类的限制。为了克服这些不足,作者们引入了“DebugBench”,一个由4253个实例组成的LLM调试基准测试。它涵盖了C ++、Java和Python中四个主要缺陷类别和18种次要类型。为了构建DebugBench,作者们从LeetCode社区收集代码片段,使用GPT-4向源数据中植入缺陷,并进行严格的质量检查。作者们在零样本场景下评估了两个商业模型和三个开源模型。发现(1)尽管像GPT-4这样的闭源模型的调试性能不如人类,但像Code Llama这样的开源模型无法获得任何通过率;(2)缺陷类别的复杂性明显波动;(3)将运行时反馈纳入调试性能对调试性能有明显影响,但并不总是有益。此外,作者们还比较了LLM调试和代码生成,揭示了闭源模型之间的强相关性。这些发现将有助于LLMs在调试方面的发展。
  • 图表
  • 解决问题
    评估大型语言模型在调试中的能力,构建调试基准(DebugBench),并在零样本情况下评估商业和开源模型的表现。
  • 关键思路
    通过构建DebugBench并评估商业和开源模型的表现,发现闭源模型的调试性能不如人类,而开源模型的表现更差;不同类型的错误对调试复杂度的影响不同;运行时反馈对调试性能有明显影响,但并不总是有益的。
  • 其它亮点
    论文构建了一个包含4,253个实例的调试基准(DebugBench),涵盖了C ++,Java和Python中四个主要错误类别和18种次要类型。作者评估了两个商业模型和三个开源模型的表现,发现闭源模型的调试性能不如人类,而开源模型的表现更差。作者还比较了LLM的调试和代码生成,并发现闭源模型之间存在很强的相关性。
  • 相关研究
    最近的相关研究主要集中在LLM的代码生成方面,如GPT-3和CodeBERT。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论