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

page 1

page 2

page 3

page 4

research
07/09/2019

solc-verify: A Modular Verifier for Solidity Smart Contracts

We present solc-verify, a source-level verification tool for Ethereum sm...
research
05/02/2022

Giallar: Push-Button Verification for the Qiskit Quantum Compiler

This paper presents Giallar, a fully-automated verification toolkit for ...
research
08/26/2016

TriCheck: Memory Model Verification at the Trisection of Software, Hardware, and ISA

Memory consistency models (MCMs) which govern inter-module interactions ...
research
12/04/2022

Differential Testing of a Verification Framework for Compiler Optimizations (Experience Paper)

We want to verify the correctness of optimization phases in the GraalVM ...
research
12/18/2020

Towards Formally Verified Compilation of Tag-Based Policy Enforcement

Hardware-assisted reference monitoring is receiving increasing attention...
research
10/25/2019

Embracing a mechanized formalization gap

If a code base is so big and complicated that complete mechanical verifi...
research
05/30/2020

CC-Light eQASM Architecture Specification

This document is the specification of the CC-Light instantiation of exec...

Please sign up or login with your details

Forgot password? Click here to reset