Contract-based verification of a realistic quantum compiler

08/23/2019
by   Yunong Shi, et al.
0

In this paper, we present CertiQ, a mostly-automated verification framework for the Qiskit quantum compiler. To our knowledge, CertiQ is the first effort to apply formal verification and SMT reasoning to a real-world quantum compiler. Qiskit is currently the most complete and widely-used open-source quantum software stack from low-level compilation to high-level quantum algorithms. With growing community contributions, the Qiskit compiler is in need of code quality control and verification down to the compilation level to guarantee reliability of scientific work that uses it. CertiQ is deeply integrated into the Qiskit compiler (called Terra), providing abstract specifications for quantum compiler data structures and offering verifiable contracts that specify the behaviors of compilation phases with heavy optimizations. CertiQ enables verification of the existing implementation of the Qiskit compiler and future code submissions in a mostly-automated manner using invariant-guided contracts and contract continuation. With these techniques in place, developers need to provide limited inputs only where function contracts and loop invariant cannot be inferred automatically. The CertiQ verification procedure discovers several critical bugs, some of which are unique to quantum soft-ware. Our extensive case studies on four compiler phases of Qiskit demonstrate that CertiQ is effective for verification of quantum compilers with a low proof burden.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset