Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Giallar: push-button verification for the qiskit Quantum compiler

Conference · · Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation
 [1];  [2];  [1];  [1];  [3];  [3];  [4];  [1]
  1. Columbia University, New York, NY (United States)
  2. Amazon, New York, NY (United States)
  3. IBM Research, Yorktown Heights, NY (United States)
  4. University of Chicago, IL (United States)

This paper presents Giallar, a fully-automated verification toolkit for quantum compilers. Giallar requires no manual specifications, invariants, or proofs, and can automatically verify that a compiler pass preserves the semantics of quantum circuits. To deal with unbounded loops in quantum compilers, Giallar abstracts three loop templates, whose loop invariants can be automatically inferred. To efficiently check the equivalence of arbitrary input and output circuits that have complicated matrix semantics representation, Giallar introduces a symbolic representation for quantum circuits and a set of rewrite rules for showing the equivalence of symbolic quantum circuits. With Giallar, we implemented and verified 44 (out of 56) compiler passes in 13 versions of the Qiskit compiler, the open-source quantum compiler standard, during which three bugs were detected in and confirmed by Qiskit. Furthermore, our evaluation shows that most of Qiskit compiler passes can be automatically verified in seconds and verification imposes only a modest overhead to compilation performance.

Research Organization:
University of Chicago, IL (United States)
Sponsoring Organization:
USDOE Office of Science (SC), Advanced Scientific Computing Research (ASCR); National Science Foundation (NSF)
DOE Contract Number:
SC0020289
OSTI ID:
1986256
Journal Information:
Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation, Conference: PLDI '22: 43. ACM SIGPLAN International Conference on Programming Language Design and Implementation, San Diego, CA (United States), 13-17 Jun 2022
Country of Publication:
United States
Language:
English

References (30)

An Automated Deductive Verification Framework for Circuit-building Quantum Programs book March 2021
Hyperkernel conference October 2017
Certified concurrent abstraction layers journal June 2018
Going Beyond Bell’s Theorem book January 1989
An axiomatic basis for computer programming journal October 1969
Translation validation for an optimizing compiler conference May 2000
Checking equivalence of quantum circuits and states conference November 2007
Programming quantum computers: a primer with IBM Q and D-Wave exercises
  • Mueller, Frank; Byrd, Greg; Dreher, Patrick
  • PPoPP '19: 24th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Proceedings of the 24th Symposium on Principles and Practice of Parallel Programming https://doi.org/10.1145/3293883.3302578
conference February 2019
Quantitative robustness analysis of quantum programs journal January 2019
Noise-Adaptive Compiler Mappings for Noisy Intermediate-Scale Quantum Computers
  • Murali, Prakash; Baker, Jonathan M.; Javadi-Abhari, Ali
  • ASPLOS '19: Architectural Support for Programming Languages and Operating Systems, Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems https://doi.org/10.1145/3297858.3304075
conference April 2019
QWIRE: a core language for quantum circuits conference January 2017
Quantum Computation and Quantum Information book January 2011
Towards Large-scale Functional Verification of Universal Quantum Circuits journal January 2019
Optimized Compilation of Aggregated Instructions for Realistic Quantum Computers
  • Shi, Yunong; Leung, Nelson; Gokhale, Pranav
  • ASPLOS '19: Architectural Support for Programming Languages and Operating Systems, Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems https://doi.org/10.1145/3297858.3304018
conference April 2019
Black-Box Equivalence Checking Across Compiler Optimizations book January 2017
A verified optimizer for Quantum circuits journal January 2021
Scaling symbolic evaluation for automated verification of systems code with Serval conference October 2019
Formal verification of a realistic compiler journal July 2009
Counterexample-guided correlation algorithm for translation validation journal November 2020
Software Mitigation of Crosstalk on Noisy Intermediate-Scale Quantum Computers
  • Murali, Prakash; Mckay, David C.; Martonosi, Margaret
  • ASPLOS '20: Architectural Support for Programming Languages and Operating Systems, Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems https://doi.org/10.1145/3373376.3378477
conference March 2020
QASMBench: A Low-Level Quantum Benchmark Suite for NISQ Evaluation and Simulation journal February 2023
Deep Specifications and Certified Abstraction Layers journal January 2015
Learning nonlinear loop invariants with gated continuous logic networks conference June 2020
Provably correct peephole optimizations with alive conference June 2015
Quantum Circuit Simplification and Level Compaction journal March 2008
Tackling the Qubit Mapping Problem for NISQ-Era Quantum Devices
  • Li, Gushu; Ding, Yufei; Xie, Yuan
  • ASPLOS '19: Architectural Support for Programming Languages and Operating Systems, Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems https://doi.org/10.1145/3297858.3304023
conference April 2019
ReQWIRE: Reasoning about Reversible Quantum Circuits journal January 2019
Gleipnir: toward practical error analysis for Quantum programs conference June 2021
Bugs4Q: A Benchmark of Real Bugs for Quantum Programs conference November 2021
Z3: An Efficient SMT Solver book January 2008