Skip to main content
QUICK REVIEW

[Paper Review] Formal Verification of Quantum Programs: Theory, Tools and Challenges

Marco Lewis, Sadegh Soudjani|arXiv (Cornell University)|Oct 4, 2021
Quantum Computing Algorithms and Architecture4 citations
TL;DR

This survey presents a comprehensive overview of formal verification techniques, tools, and theoretical foundations for quantum programs, focusing on ensuring correctness in the face of hardware noise and software errors. It identifies key challenges in verifying complex quantum algorithms and proposes directions for future research in verification frameworks for NISQ-era quantum programming languages and tools.

ABSTRACT

Over the past 27 years, quantum computing has seen a huge rise in interest from both academia and industry. At the current rate, quantum computers are growing in size rapidly backed up by the increase of research in the field. Significant efforts are being made to improve the reliability of quantum hardware and to develop suitable software to program quantum computers. In contrast, the verification of quantum programs has received relatively less attention. Verifying programs is especially important in the quantum setting due to how difficult it is to program complex algorithms correctly on resource-constrained and error-prone quantum hardware. Research into creating verification frameworks for quantum programs has seen recent development, with a variety of tools implemented using a collection of theoretical ideas. This survey aims to be a short introduction into the area of formal verification of quantum programs, bringing together theory and tools developed to date. Further, this survey examines some of the challenges that the field may face in the future, namely the development of complex quantum algorithms.

Motivation & Objective

  • To provide a unified introduction to formal verification methods for quantum programs, integrating theory and tools developed to date.
  • To identify and analyze key challenges in verifying complex quantum algorithms, particularly those involving loops, oracles, and hybrid quantum-classical control.
  • To explore the limitations of existing verification tools in handling measurement, classical data, and dynamic quantum objects.
  • To advocate for the development of user-friendly, verifiable quantum programming languages that support formal verification without steep learning curves.
  • To stimulate further research into scalable verification techniques for large-scale quantum algorithms in the NISQ era.

Proposed method

  • Surveying theoretical foundations of quantum program verification, including quantum Hoare logic (QHL), quantum weakest liberal precondition (qWPL), and quantum refinement.
  • Analyzing existing verification tools such as QBricks, QHLProver, CoqQ, and CertiQ, focusing on their capabilities and limitations.
  • Applying formal verification techniques to real-world quantum algorithms like the Berman-Wu-Tsang (BWT) algorithm to illustrate verification challenges.
  • Using bounded model checking and loop invariants to verify iterative quantum procedures with classical control flow.
  • Proposing the use of quantum objects (e.g., graphs, nodes) as first-class abstractions to simplify verification beyond qubit-level manipulation.
  • Evaluating the feasibility of integrating classical data handling and measurement operations into formal verification pipelines.
Figure 1 . An example of a Kripke structure with $S=\{s_{0},s_{1},s_{2}\}$ .
Figure 1 . An example of a Kripke structure with $S=\{s_{0},s_{1},s_{2}\}$ .

Experimental results

Research questions

  • RQ1How can formal verification techniques be adapted to handle the unique features of quantum programs, such as superposition, entanglement, and measurement?
  • RQ2What are the key limitations of current verification tools in supporting measurement, classical control, and dynamic initialization of qubits?
  • RQ3Can existing verification frameworks be extended to support widely used quantum programming languages like Q#?
  • RQ4How can complex quantum algorithms with deep loops and conditional oracles be formally verified using bounded or invariant-based methods?
  • RQ5What design principles are needed to create verifiable quantum programming languages that are both powerful and accessible to non-expert users?

Key findings

  • Existing verification tools such as QBricks and QHLProver have significant limitations: QBricks cannot verify measurement operations, and QHLProver cannot initialize qubits mid-program.
  • The Berman-Wu-Tsang (BWT) algorithm exemplifies the difficulty of verifying quantum programs with classical loops, dynamic oracles, and graph-based quantum objects.
  • Quantum object-based verification (e.g., via QuantumOne) offers a promising abstraction layer to simplify reasoning about quantum data structures beyond individual qubits.
  • Current tools lack native support for verifying classical data and operations, indicating a critical gap in formal verification for hybrid quantum-classical programs.
  • While CoqQ has successfully verified complex algorithms using QHL, broader applicability to large-scale quantum programs remains unproven and challenging.
  • There is a strong need for user-friendly, verifiable quantum programming languages that integrate formal verification without requiring expertise in interactive theorem proving.
Figure 2 . A computation tree for the automata given in Figure 2 that shows the CTL operation $\textbf{E}(q\textbf{U}p)$ . The proposition $q$ holds in states $s_{0}$ and $s_{1}$ , but the proposition $p$ holds in state $s_{2}$ .
Figure 2 . A computation tree for the automata given in Figure 2 that shows the CTL operation $\textbf{E}(q\textbf{U}p)$ . The proposition $q$ holds in states $s_{0}$ and $s_{1}$ , but the proposition $p$ holds in state $s_{2}$ .

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.