遇见数据集

Bugs4Q

收藏
arXiv2021-09-21 更新2024-06-21 收录
数据链接:
官方服务:

资源简介:

Bugs4Q是一个包含36个真实、手动验证的Qiskit程序错误的数据集,由九州大学创建。数据集涵盖了Qiskit的四个流行元素(Terra, Aer, Ignis, Aqua),并附带了用于重现错误行为的测试案例。Bugs4Q提供访问错误和修复版本的Qiskit程序以及执行相应测试案例的接口,便于进行可重复的实证研究和比较Qiskit程序调试和测试工具。该数据集主要用于评估量子软件测试和调试方法,旨在解决量子编程中错误检测和修复的问题。

Bugs4Q is a dataset consisting of 36 real, manually validated bugs in Qiskit programs, created by Kyushu University. It covers four popular components of Qiskit: Terra, Aer, Ignis, and Aqua, and is accompanied by test cases for reproducing the erroneous behaviors. Bugs4Q provides interfaces for accessing both the buggy and fixed versions of Qiskit programs as well as executing the corresponding test cases, facilitating reproducible empirical research and comparative evaluations of Qiskit program debugging and testing tools. This dataset is primarily used to evaluate quantum software testing and debugging methods, aiming to address the issues of error detection and repair in quantum programming.

提供机构:
九州大学
创建时间:
2021-08-22
搜集汇总
数据集介绍
Bugs4Q 数据集图片
构建方式
量子计算作为前沿科技领域,其软件系统的可靠性日益受到关注。然而,量子程序的调试与测试研究长期缺乏高质量的基准数据集。为填补这一空白,Bugs4Q应运而生。该数据集从IBM Qiskit的四个核心组件(Terra、Aer、Ignis、Aqua)中,通过GitHub的issue标签系统手动收集了206个与量子程序相关的缺陷。经过严格的筛选流程,包括对每个缺陷进行手动复现、隔离无关代码变更、并验证其可复现性,最终保留了36个经过人工验证的真实Qiskit缺陷。每个缺陷均配有原始的错误版本、修复版本以及用于复现错误行为的测试用例,从而构建起一个严谨的基准数据库。
特点
Bugs4Q的核心特色在于其真实性与专业性。所有缺陷均源自真实项目,而非人工注入,确保了研究评估的现实意义。数据集涵盖了五种缺陷类型:输出错误、噪声模拟错误、信息丢失、异常抛出以及电路图绘制错误,其中输出错误和异常抛出最为常见,反映了量子程序调试中的典型挑战。此外,Bugs4Q对每个缺陷进行了隔离处理,确保修复提交仅针对单一缺陷,避免了版本变更或重构带来的干扰。数据集还提供了版本环境恢复机制,支持在不同Qiskit版本上复现缺陷,增强了研究的可重复性。
使用方法
使用Bugs4Q进行实验时,研究者可通过其提供的接口直接访问缺陷的buggy版本和fixed版本,并执行对应的测试用例。具体操作包括:根据缺陷ID配置相应的Qiskit版本环境,将buggy源文件替换至环境中,运行测试用例以复现错误行为;随后替换为fixed版本,验证缺陷是否被成功修复。数据集还提供了详细的缺陷描述、GitHub issue链接及修改文件信息,便于深入分析。研究者可基于这些缺陷评估量子程序调试、定位或修复工具的有效性,并通过对比不同工具的表现推动量子软件工程领域的发展。
背景与挑战
背景概述
量子计算作为新兴的颠覆性技术,其软件生态的成熟度直接影响着量子计算机的实用化进程。然而,量子程序的调试与测试因其叠加态、纠缠态及不可克隆定理等独特性质而面临严峻挑战。在此背景下,九州大学的Pengzhan Zhao与Jianjun Zhao等研究者于2021年提出了Bugs4Q基准测试集,旨在填补量子程序缺陷基准的空白。该数据集从IBM Qiskit的四个核心组件——Terra、Aer、Ignis与Aqua中,手工验证并收集了36个真实、可复现的量子程序缺陷,并配套提供了再现缺陷行为的测试用例。Bugs4Q的发布为量子软件工程领域提供了首个系统性的评估基准,极大地推动了量子程序调试与测试工具的可重复性研究与性能对比。
当前挑战
Bugs4Q所应对的核心挑战源于量子程序的特殊性:传统软件的缺陷检测方法因量子态的不可克隆性与概率输出特性而难以直接迁移,导致量子程序中的逻辑错误(如输出错误、信息丢失)与模拟噪声误差等缺陷难以被有效定位。在基准构建过程中,研究者面临多重困难:首先,需从GitHub上206个量子相关缺陷中严格筛选,仅保留具有原始测试用例且满足隔离性与可复现性要求的缺陷,最终仅36个达标;其次,量子程序版本迭代频繁,修复提交常伴随重构或依赖库变更,增加了缺陷隔离与版本环境恢复的复杂度;此外,部分缺陷因概率性输出或模拟器限制,在受控环境中难以稳定复现,进一步提升了基准维护的难度。
常用场景
经典使用场景
在量子软件工程这一方兴未艾的领域中,Bugs4Q数据集作为首个系统化的量子程序缺陷基准,为研究者提供了弥足珍贵的实验素材。该数据集精心收集并验证了来自IBM Qiskit四大核心组件(Terra、Aer、Ignis、Aqua)的36个真实缺陷,每个缺陷均附带可复现的测试用例与修复版本。其最经典的使用场景在于评估和比较量子程序调试与测试工具的有效性,研究者可借助该基准集对缺陷检测、定位及修复技术进行可重复的实证研究,从而推动量子软件质量保障方法的发展。
实际应用
Bugs4Q数据集的实际应用场景广泛渗透于量子软件的开发与维护全生命周期。在量子程序开发阶段,开发者可利用该数据集中的缺陷模式进行回归测试,确保新功能的引入不会破坏已有逻辑。在量子计算框架的版本演进中,该数据集可作为质量门禁的测试套件,帮助检测因API变更或底层实现调整而引入的异常行为。此外,量子计算云服务提供商可借助Bugs4Q验证其模拟器与真实量子处理器上程序行为的一致性,确保噪声模拟、电路编译等关键环节的准确性,从而提升量子计算服务的可靠性与用户体验。
衍生相关工作
Bugs4Q数据集的发布催生了多项富有影响力的衍生工作。在缺陷分类层面,研究者基于其提供的缺陷类型分析(如输出错误、噪声模拟异常、信息丢失、异常抛出、电路图绘制错误等),进一步归纳出量子程序缺陷的共性模式与根因规律。在工具研发方面,该基准集被用于评估和优化量子程序断言机制、基于属性的测试方法以及变异测试技术。此外,Bugs4Q的设计理念与构建流程为后续QBugs等同类基准的建立提供了重要参考,推动了量子软件工程领域从理论探讨向实证研究范式的转变,并启发了针对其他量子编程语言(如Q#、Scaffold)缺陷基准的构建工作。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务