five

QuixBugs Benchmark

收藏
github2025-06-24 更新2025-06-25 收录
下载链接:
https://github.com/RS-010806/Quix-Agent_HMACCE
下载链接
链接失效反馈
官方服务:
资源简介:
该基准测试包含40个来自Quixey Challenge的程序,分别翻译成Python和Java。每个程序包含一个单行缺陷,以及通过(如果可能)和失败的测试用例。缺陷分为14个缺陷类别。还提供了修正后的Python程序。Quixbugs旨在研究多语言程序修复工具的跨语言性能。

This benchmark includes 40 programs sourced from the Quixey Challenge, which have been separately translated into Python and Java. Each program contains a single-line defect, alongside passing (where feasible) and failing test cases. The defects are categorized into 14 defect classes. Corrected Python programs are also provided. Quixbugs is designed to investigate the cross-language performance of multilingual program repair tools.
创建时间:
2025-05-29
原始信息汇总

QuixBugs Benchmark 数据集概述

数据集背景

  • 源自2011-2013年Quixey Challenge编程挑战赛
  • 包含40个经典算法的Python/Java实现
  • 每个程序含单行缺陷及通过/失败测试用例
  • 缺陷涵盖14种错误类型
  • 提供Python版本的修正程序

数据集内容

程序列表

  • 基础算法:bitcount, bucketsort, gcd, hanoi等
  • 图算法(带*标记):breadth_first_search, depth_first_search, detect_cycle等
  • 其他:knapsack, levenshtein, quicksort等

文件结构

  • java_programs/:缺陷Java程序
  • python_programs/:缺陷Python程序
  • correct_python_programs/:修正Python程序
  • python_testcases/:pytest测试用例
  • json_testcases/:JSON测试用例

测试方法

测试驱动

  • 使用tester.py运行缺陷程序测试 bash python3 tester.py program_name

pytest测试

  • 支持缺陷/修正版本测试
  • 慢速测试跳过机制 bash pytest python_testcases/test_quicksort.py pytest --correct python_testcases pytest --correct --runslow python_testcases/test_knapsack.py

技术特征

  • Python版本:Python3
  • 测试框架:pytest
  • 特殊处理:graph-based算法测试用例与程序同目录

相关资源

  • 完整文档:https://docs.google.com/document/d/1prqmmfoWYDW19FoWb6vQ3dAQfyMliLIGMYdT14Rurkc/edit?usp=sharing
搜集汇总
数据集介绍
main_image_url
构建方式
QuixBugs Benchmark数据集源自2011至2013年Quixey Challenge竞赛,包含40个经典算法的实现,每个程序均被翻译为Python和Java版本,并人为植入单行缺陷。数据集构建过程中,开发者在不知晓程序修复技术的背景下设计挑战题目,确保缺陷的自然性。每个程序配套提供通过和失败的测试用例,缺陷被归类至14种缺陷类别中,同时包含修正后的Python版本,旨在支持多语言程序修复工具的跨语言性能研究。
特点
该数据集以精炼的单行缺陷为核心特征,涵盖图算法、排序、动态规划等14类经典算法,所有缺陷均具备明确的测试用例验证。其独特之处在于提供Python和Java双语言版本,支持跨语言程序修复研究。数据集包含原始缺陷程序、修正版本及分层测试用例,其中部分测试用例设计为长时运行或需超时处理,为评估修复工具的鲁棒性提供多维测试场景。
使用方法
使用者可通过Python3运行测试驱动脚本,对指定程序执行缺陷版本和修正版本的测试比对。数据集集成pytest测试框架,支持通过命令行参数灵活选择测试范围,如使用--correct标志测试修正版本,或通过--runslow启用长时测试。对于图算法类程序,测试用例与源码同路径存储,需通过JSON反序列化执行。研究者还可调用Gemini API接入多智能体修复系统,通过Streamlit仪表盘实时监控修复过程与效果评估。
背景与挑战
背景概述
QuixBugs Benchmark数据集源于2011至2013年间由移动应用搜索初创公司Quixey发起的一项编程挑战赛,旨在通过单行缺陷修复任务考察程序员的算法调试能力。该数据集由Derrick Lin、Angela Chen和James Koppel等研究者系统化构建,包含40个经典算法的Python与Java实现版本,每个程序均植入单行缺陷并配备测试用例,涵盖14类典型缺陷模式。作为跨语言程序修复研究的基准工具,其独特的人类挑战赛起源背景为自动化程序修复领域提供了贴近真实开发场景的评估标准,尤其对多语言程序修复工具的效能验证具有重要参考价值。
当前挑战
该数据集核心挑战体现在双重维度:在领域问题层面,单行缺陷修复需克服程序语义理解与语法模式匹配的精确平衡,尤其面对图算法等复杂结构时,缺陷定位的准确性直接影响修复效果;在构建过程中,跨语言等效缺陷的植入需保持原始算法逻辑不变性,而测试用例设计需兼顾缺陷触发与边界覆盖。技术实现上,部分算法如背包问题和编辑距离测试存在超时风险,要求特殊处理机制。多语言并行缺陷库的构建进一步增加了语义一致性验证的复杂度,这些特性使其成为评估程序修复工具鲁棒性的高标准测试平台。
常用场景
经典使用场景
在程序修复领域,QuixBugs Benchmark作为跨语言缺陷修复研究的基准数据集,其经典使用场景在于评估多语言程序修复工具的性能。该数据集包含40个经典算法的Python和Java实现,每个程序均含有一行缺陷,并配备通过和失败的测试用例。研究人员通过对比修复工具在不同语言环境下的表现,能够深入探究跨语言修复的通用性和局限性。
解决学术问题
QuixBugs Benchmark有效解决了程序修复研究中缺乏标准化跨语言评估基准的难题。数据集涵盖14类缺陷模式,为研究者提供了系统化分析单行缺陷修复能力的实验平台。其价值在于推动程序修复技术从单语言向多语言场景拓展,促进了修复模式泛化性、语言特性影响等核心问题的研究,对提升自动化修复工具的普适性具有里程碑意义。
衍生相关工作
基于QuixBugs Benchmark已衍生出多项创新研究,包括Hierarchical Multi-Agent Agentic Code Correction Ecosystem等多智能体修复系统。这些工作通过结合大语言模型与分层验证机制,显著提升了单行缺陷的定位精度。数据集还催生了跨语言修复模式挖掘、测试用例优先级排序等研究方向,为程序修复领域建立了可扩展的方法论框架。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作