QDiff: Differential Testing of Quantum Software Stacks
arXiv:2611.08220 · doi:10.1109/ASE51524.2021.9678792
Abstract
Over the past few years, several quantum software stacks (QSS) have been developed in response to rapid hardware advances in quantum computing. A QSS includes a quantum programming language, an optimizing compiler that translates a quantum algorithm written in a high-level language into quantum gate instructions, a quantum simulator that emulates these instructions on a classical device, and a software controller that sends analog signals to a very expensive quantum hardware based on quantum circuits. In comparison to traditional compilers and architecture simulators, QSSes are difficult to tests due to the probabilistic nature of results, the lack of clear hardware specifications, and quantum programming complexity. This work devises a novel differential testing approach for QSSes, named QDIFF with three major innovations: (1) We generate input programs to be tested via semantics-preserving, source to source transformation to explore program variants. (2) We speed up differential testing by filtering out quantum circuits that are not worthwhile to execute on quantum hardware by analyzing static characteristics such as a circuit depth, 2 qubit gate operations, gate error rates, and T1 relaxation time. (3) We design an extensible equivalence checking mechanism via distribution comparison functions such as Kolmogorov Smirnov test and cross entropy
References in corpus (15)
- The theory of variational hybrid quantum-classical algorithms
- Validating quantum computers using randomized model circuits
- Noise tailoring for scalable quantum computation via randomized compiling
- Information Scrambling in Computationally Complex Quantum Circuits
- DLFuzz: Differential Fuzzing Testing of Deep Learning Systems
- Polynomial-time T-depth Optimization of Clifford+T circuits via Matroid Partitioning
- Concrete Categorical Model of a Quantum Circuit Description Language with Measurement
- Automated optimization of large quantum circuits with continuous parameters
- Overview and Comparison of Gate Level Quantum Software Platforms
- Statistical Assertions for Validating Patterns and Finding Bugs in Quantum Programs
- Quantum Software Engineering: Landscapes and Horizons
- A Verified Optimizer for Quantum Circuits
- Randomized compiling for scalable quantum computing on a noisy superconducting quantum processor
- Accurate and Efficient Estimation of Small P-values with the Cross-Entropy Method: Applications in Genomic Data Analysis
- Symbolic Verification of Quantum Circuits
Cited by in corpus (6)
- Bugs in Quantum Computing Platforms: An Empirical Study
- Quantum Software Engineering: Roadmap and Challenges Ahead
- MorphQ: Metamorphic Testing of the Qiskit Quantum Computing Platform
- Analyzing Quantum Programs with LintQ: A Static Analysis Framework for Qiskit
- QuanTest: Entanglement-Guided Testing of Quantum Neural Network Systems
- Bug Classification in Quantum Software: A Rule-Based Framework and Its Evaluation