Bugs in Quantum Computing Platforms: An Empirical Study
arXiv:2110.14560 · doi:10.1145/3527330
Abstract
The interest in quantum computing is growing, and with it, the importance of software platforms to develop quantum programs. Ensuring the correctness of such platforms is important, and it requires a thorough understanding of the bugs they typically suffer from. To address this need, this paper presents the first in-depth study of bugs in quantum computing platforms. We gather and inspect a set of 223 real-world bugs from 18 open-source quantum computing platforms. Our study shows that a significant fraction of these bugs (39.9%) are quantum-specific, calling for dedicated approaches to prevent and find them. The bugs are spread across various components, but quantum-specific bugs occur particularly often in components that represent, compile, and optimize quantum programming abstractions. Many quantum-specific bugs manifest through unexpected outputs, rather than more obvious signs of misbehavior, such as crashes. Finally, we present a hierarchy of recurrent bug patterns, including ten novel, quantum-specific patterns. Our findings not only show the importance and prevalence bugs in quantum computing platforms, but they help developers to avoid common mistakes and tool builders to tackle the challenge of preventing, finding, and fixing these bugs.
Accepted as full paper in the technical track of OOPSLA 2022
References in corpus (13)
- Quantum algorithm for solving linear systems of equations
- A Quantum Approximate Optimization Algorithm
- Qulacs: a fast and versatile quantum circuit simulator for research purpose
- Resource-Aware Quantum Programming with General Recursion and Quantum Control
- Software Mitigation of Crosstalk on Noisy Intermediate-Scale Quantum Computers
- Open source software in quantum computing
- Statistical Assertions for Validating Patterns and Finding Bugs in Quantum Programs
- Tequila: A platform for rapid development of quantum algorithms
- Neural Program Repair by Jointly Learning to Localize and Repair
- Understanding Neural Code Intelligence Through Program Simplification
- Enabling Accuracy-Aware Quantum Compilers using Symbolic Resource Estimation
- Identifying Bug Patterns in Quantum Programs
- Bugs4Q: A Benchmark of Real Bugs for Quantum Programs
Cited by in corpus (13)
- Fuzz4All: Universal Fuzzing with Large Language Models
- Quantum Software Engineering: Roadmap and Challenges Ahead
- MorphQ: Metamorphic Testing of the Qiskit Quantum Computing Platform
- Synthesizing Quantum-Circuit Optimizers
- Analyzing Quantum Programs with LintQ: A Static Analysis Framework for Qiskit
- On the need for effective tools for debugging quantum programs
- Enabling High Performance Debugging for Variational Quantum Algorithms using Compressed Sensing
- A Uniform Representation of Classical and Quantum Source Code for Static Code Analysis
- Equivalence checking of quantum circuits via intermediary matrix product operator
- Visualizing quantum mechanics in an interactive simulation -- Virtual Lab by Quantum Flytrap
- Accelerating Quantum Eigensolver Algorithms With Machine Learning
- Bug Classification in Quantum Software: A Rule-Based Framework and Its Evaluation
- A Taxonomy of Real Faults in Hybrid Quantum-Classical Architectures