摘要 — 过去几年,随着量子计算硬件的快速发展,人们开发了多种量子软件堆栈 (QSS)。QSS 包括量子编程语言、优化编译器(将用高级语言编写的量子算法转换为量子门指令)、量子模拟器(在传统设备上模拟这些指令)以及软件控制器(将模拟信号发送到基于量子电路的非常昂贵的量子硬件)。与传统的编译器和架构模拟器相比,由于结果的概率性质、缺乏明确的硬件规格以及量子编程的复杂性,QSS 难以测试。这项工作设计了一种新颖的 QSS 差分测试方法,称为 QD IFF,具有三大创新:(1) 我们通过保留语义的源到源转换生成要测试的输入程序以探索程序变体。 (2) 我们通过分析电路深度、2 门操作、门错误率和 T1 弛豫时间等静态特性,过滤掉不值得在量子硬件上执行的量子电路,从而加快差分测试速度。(3)我们通过分布比较函数(如 Kolmogorov-Smirnov 检验和交叉熵)设计了一种可扩展的等效性检查机制。我们使用三个广泛使用的开源 QSS 评估 QD IFF:IBM 的 Qiskit、Google 的 Cirq 和 Rigetti 的 Pyquil。通过在真实硬件和量子模拟器上运行 QD IFF,我们发现了几个关键的错误,揭示了这些平台中潜在的不稳定性。QD IFF 的源变换可有效生成语义等价但不相同的电路(即 34% 的试验),其过滤机制可将差分测试速度提高 66%。
主要关键词