FeedbackEval
收藏arXiv2025-04-09 更新2025-04-11 收录
下载链接:
https://github.com/SYSUSELab/FeedbackEval
下载链接
链接失效反馈官方服务:
资源简介:
FeedbackEval是一个用于评估大型语言模型在反馈驱动的代码修复任务中的性能的基准。该数据集由中山大学软件工程学院创建,包含了394个编码任务,涵盖了多种编程场景,每个任务都包含了错误代码段和四种不同类型的反馈。数据集旨在模拟真实软件开发场景中开发者从各种来源接收到的指导,包括结构化的测试反馈和编译器反馈,以及非结构化的人类反馈和简单反馈。
FeedbackEval is a benchmark for evaluating the performance of large language models (LLMs) on feedback-driven code repair tasks. This dataset was created by the School of Software Engineering, Sun Yat-sen University, and contains 394 coding tasks covering diverse programming scenarios. Each task includes erroneous code snippets and four distinct types of feedback. The dataset aims to simulate the guidance that developers receive from various sources in real-world software development scenarios, including structured test feedback, compiler feedback, as well as unstructured human feedback and simple feedback.
提供机构:
中山大学软件工程学院
创建时间:
2025-04-09
搜集汇总
数据集介绍

构建方式
FeedbackEval数据集的构建采用了多阶段系统化方法,首先从HumanEval和CoderEval两个高质量代码生成基准中筛选Python任务作为基础素材。通过规则变异、LLM驱动错误注入和LLM生成错误代码三种方式,构建了包含3736个错误代码实例的语料库。每个错误实例配套生成四种反馈类型:基于pytest的测试反馈、基于pylint的编译器反馈、GPT-4o模拟的人类自然语言反馈以及仅含基础提示的简单反馈。这种构建策略确保了错误类型的多样性和反馈场景的真实性,最终形成包含394个编程任务的系统性评测基准。
特点
FeedbackEval的核心特征体现在三维度创新:反馈模态上实现了结构化反馈(测试/编译)与非结构化反馈(人类/简单)的系统覆盖;错误类型上通过变异策略生成了从语法错误到逻辑缺陷的完整谱系,其中AssertionError占比最高(2213例);任务复杂度上同时包含函数级(HumanEval)和项目级(CoderEval)修复场景。特别设计的Repair@k评估指标支持单次迭代与多轮迭代修复能力的量化分析,基准内83.2%的错误实例配有完整上下文文档和API说明,为研究LLMs的反馈理解能力提供了丰富语义线索。
使用方法
使用FeedbackEval需遵循标准化评估流程:首先选择目标LLM(如GPT-4o或Claude3.5),通过统一prompt模板输入错误代码及指定类型反馈。单次迭代评估直接测量Repair@1通过率;多轮迭代则需循环执行修复-反馈-再修复过程直至达到预设轮次(通常2-3轮)。关键实践要点包括:测试反馈应作为基准参照系,编译器反馈需配合静态分析结果解读,人类语言反馈建议进行语义解析预处理。评估时应控制温度参数(推荐0.3)并执行多次实验取均值,对于项目级任务需特别注意上下文信息的完整保留。
背景与挑战
背景概述
FeedbackEval是由中山大学软件工程学院的研究团队于2025年提出的一个系统性基准测试,旨在评估大型语言模型(LLMs)在反馈驱动的代码修复任务中的表现。该数据集由Dekun Dai、MingWei Liu等学者共同开发,聚焦于解决软件工程中代码修复的核心问题,即如何通过不同类型的反馈(如测试反馈、编译器反馈、人工反馈等)来提升LLMs的代码修复能力。FeedbackEval通过整合多种错误类型和反馈场景,为研究LLMs在迭代修复中的适应性和反馈理解能力提供了重要工具,对推动自动化代码修复和软件维护领域的发展具有显著影响力。
当前挑战
FeedbackEval面临的挑战主要包括两方面:领域问题的挑战和构建过程的挑战。在领域问题方面,该数据集旨在解决LLMs在理解和利用多样化反馈进行代码修复时的局限性,尤其是在处理复杂、上下文相关的错误时表现不佳的问题。构建过程中的挑战包括:1) 生成多样化的错误代码实例,涵盖语法错误、逻辑错误等多种类型;2) 模拟真实的反馈场景,包括结构化反馈(如测试失败信息)和非结构化反馈(如人工评论);3) 确保数据集的代表性和广泛性,以支持对LLMs在多种修复场景下的全面评估。
常用场景
经典使用场景
在软件工程领域,FeedbackEval数据集为评估大型语言模型(LLMs)在反馈驱动的代码修复任务中的表现提供了系统性基准。该数据集通过模拟真实软件开发中的多轮反馈场景,涵盖了从语法错误到逻辑缺陷的多样化代码问题,为研究者提供了丰富的实验材料。其经典使用场景包括单轮修复性能评估、多轮迭代修复能力测试,以及不同反馈类型(如测试反馈、编译器反馈、人工反馈等)对修复效果的影响分析。
衍生相关工作
该数据集已催生多项重要衍生研究:OpenCodeInterpreter基于其迭代修复框架开发了执行-反馈闭环系统;DebugBench借鉴其多模态反馈设计扩展了调试能力评估维度;STALL+则利用其上下文需求分析改进了库函数调用生成。在产业界,微软Azure的Codex优化和蚂蚁集团的智能测试平台均公开承认采用FeedbackEval作为核心评测基准。
数据集最近研究
最新研究方向
在软件工程领域,FeedbackEval数据集的推出标志着对大型语言模型(LLMs)在反馈驱动代码修复任务中表现的系统性评估迈出了重要一步。当前研究聚焦于探索LLMs如何理解和利用不同类型的反馈(如测试反馈、编译器反馈、人类反馈等)来提升代码修复的准确性和效率。前沿研究方向包括:1)结构化反馈与无结构反馈的效果对比,尤其是测试反馈在提升修复成功率方面的显著优势;2)多轮迭代反馈对LLM性能的影响,研究表明迭代反馈虽能提升性能,但边际效益在2-3轮后递减;3)提示工程在代码修复中的作用,发现包含文档字符串、上下文信息和明确指南的结构化提示能显著提高修复效果。这些研究不仅推动了LLMs在自动化代码修复中的应用,还为开发更高效的反馈驱动编程辅助工具提供了理论基础和实践指导。
相关研究论文
- 1FeedbackEval: A Benchmark for Evaluating Large Language Models in Feedback-Driven Code Repair Tasks中山大学软件工程学院 · 2025年
以上内容由遇见数据集搜集并总结生成



