Project Details
QPTest: Automated Testing of Quantum Computing Platforms
Applicant
Professor Dr. Michael Pradel
Subject Area
Software Engineering and Programming Languages
Term
since 2023
Project identifier
Deutsche Forschungsgemeinschaft (DFG) - Project number 516334526
Quantum computing is emerging as a novel computing paradigm, which allows for addressing some algorithmic challenges significantly more efficiently than traditional computing. Executing a quantum program requires a quantum programming platform, which implements a quantum programming language, offers an optimizing compiler, and an execution environment that either simulates the program or runs it on quantum hardware. Similar to traditional compilers and runtime engines, these platforms are the critical infrastructure on which programs execute. Increasing the reliability of this critical infrastructure is crucial to enable mainstream quantum programming. However, automated testing techniques for quantum programming platforms currently are mostly unexplored. Simply adapting traditional compiler testing techniques is impractical, as quantum programming follows a fundamentally different programming paradigm. For example, quantum programs are composed of different basic building blocks, such qubits, gates, and circuits, and unlike in traditional computing, the behavior of a program is inherently probabilistic. The project presented in this proposal will create the first comprehensive framework for automatically testing quantum computing platforms – by addressing three orthogonal challenges: (1) As there currently are relatively few quantum programs, we will explore automated program generators, e.g., using a grammar specifically designed to yield likely valid quantum programs and using a generation algorithm guided by the distributions of qubits observed during executions. (2) Motivated by the lack of formally defined test oracles for quantum computing platforms, we will design quantum-specific meta-morphic testing primitives, while addressing the problem that different executions of the same quantum program may yield different results. (3) Finally, to help understand and debug programming errors detected in the tested platforms, we will create novel program reduction techniques, which is non-trivial due to the inherently probabilistic nature of quantum programs. We plan to apply our ideas to several real-world quantum computing platforms, such as Qiskit and Circ. If successful, the QPTest project will provide a foundation for automatically testing quantum computing platforms, and have an impact similar to early work on traditional compiler testing.
DFG Programme
Research Grants