Retromorphic Testing of Quantum Compiler Passes:量子编译器变换的回溯测试
Retromorphic Testing of Quantum Compiler Passes
提出 RetroQ 框架,结合回溯测试与 Hadamard 测试思想检查量子编译器 pass 的语义保持和结构修改。
论文信息(2026-10-08,arXiv:2610.11195):Mushahid Khan、Olivia Di Matteo。原论文
工作概述
量子编译器会把高层程序变成适合硬件执行的线路,但大型纠缠线路的正确输出通常难以直接计算,因此编译器 pass 的测试尤其困难。论文先系统分析 PennyLane、Qiskit、Cirq 和 pytket 中已有的 pass 单元测试,发现测试主要依赖程序内容断言和线路指标断言,且测试线路普遍较小、较浅。
作者据此提出一种面向编译 pass 的回溯测试方法,并实现 RetroQ。方法同时考虑待测 pass、输入测试线路和预期的 pass 行为,利用 Hadamard test 的思想检查语义是否保持,以及结构性变换是否确实发生。实验覆盖 PennyLane 与 Qiskit 的编译 pass。
主要贡献
- 总结四个主流量子编程框架中编译器测试的常见断言和盲点。
- 将 retromorphic testing 适配到量子线路变换,并把语义保持与结构修改放在同一测试协议中。
- 在实际框架上复现已有错误,并发现符号参数处理、交换逻辑、自伴门识别和运行时崩溃等缺陷。
局限与适用范围
RetroQ 的保证取决于测试线路、预期行为和数值判定阈值,测试发现缺陷并不等同于对所有线路完成形式化证明。实验集中于 PennyLane 和 Qiskit 的选定 pass,其他编译器、硬件噪声模型和更深线路的表现还需要单独评估。Hadamard test 相关检查也会带来额外线路和执行成本。
与其他工作的关系
论文位于量子编译验证、等价检查和软件测试的交叉处。它与 量子程序验证工具所述的符号等价检查互补:RetroQ 更强调可执行测试和 pass 的预期结构行为。与 QTestBench相比,RetroQ 的对象是编译器变换,QTestBench 的对象是大语言模型生成的测试套件;二者都指出“测试可运行”不足以说明测试有判别力。
参考
- Khan 与 Di Matteo,Retromorphic Testing of Quantum Compiler Passes,arXiv:2610.11195,2026。