ClassEval: A Manually-Crafted Benchmark for Evaluating LLMs on Class-level Code Generation
论文摘要:本文首次尝试评估LLMs在更具挑战性的代码生成场景——类级别的代码生成中的表现。我们首先手动构建了第一个包含100个类级别Python代码生成任务的ClassEval类别代码生成基准,共耗费了约500人时。基于此,我们对11个最先进的LLMs进行了首次类级别代码生成研究。根据我们的结果,我们得出以下主要发现。首先,我们发现所有现有的LLMs在类级别代码生成方面的表现要比在独立的方法级别代码生成基准(如HumanEval)上表现差得多,而方法级编码能力不能等效地反映LLMs的类级编码能力。其次,我们发现GPT-4和GPT-3.5在类级别代码生成方面仍然表现卓越,而第二梯队模型包括Instruct-Starcoder、Instruct-Codegen和Wizardcoder,它们的表现非常相似。第三,我们发现一次性生成整个类(即整体生成策略)只适用于GPT-4和GPT-3.5,而逐个方法生成(即增量和组合)是其他模型更好的策略,因为它们对长指令的理解能力和利用中间信息的能力有限。最后,我们发现模型生成方法相关代码的能力有限,并讨论了生成的类中常见的错误类型。我们的基准可在https://github.com/FudanSELab/ClassEval上获得。
内容中包含的图片若涉及版权问题,请及时与我们联系删除


评论
沙发等你来抢