Giallar: Push-Button Verification for the Qiskit Quantum Compiler

被引:18
作者
Tao, Runzhou [1 ]
Shi, Yunong [2 ]
Yao, Jianan [1 ]
Li, Xupeng [1 ]
Javadi-Abhari, Ali [3 ]
Cross, Andrew W. [3 ]
Chong, Frederic T. [4 ,6 ,7 ]
Gu, Ronghui [5 ,8 ]
机构
[1] Columbia Univ, New York, NY 10027 USA
[2] Amazon, New York, NY USA
[3] IBM Res, Yorktown Hts, NY USA
[4] Univ Chicago, Super Tech, Chicago, IL 60637 USA
[5] Columbia Univ, CertiK, New York, NY USA
[6] Super Tech, Chicago, IL USA
[7] Quantum Circuits Inc, New Haven, CT USA
[8] CertiK, New York, NY USA
来源
PROCEEDINGS OF THE 43RD ACM SIGPLAN INTERNATIONAL CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '22) | 2022年
关键词
quantum computing; compiler verification; automated verification;
D O I
10.1145/3519939.3523431
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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. 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.
引用
收藏
页码:641 / 656
页数:16
相关论文
共 48 条
[1]   Towards Large-scale Functional Verification of Universal Quantum Circuits [J].
Amy, Matthew .
ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2019, (287) :1-21
[2]   Verified Compilation of Space-Efficient Reversible Circuits [J].
Amy, Matthew ;
Roetteler, Martin ;
Svore, Krysta M. .
COMPUTER AIDED VERIFICATION (CAV 2017), PT II, 2017, 10427 :3-21
[3]  
[Anonymous], QISKIT GITHUB REPOSI
[4]  
[Anonymous], 2012, The Coq proof assistant reference manual
[5]  
[Anonymous], QISKIT BUG REPORT 20
[6]  
[Anonymous], QISKIT 0320 DOCUMENT
[7]  
[Anonymous], Qiskit Terra Github issue
[8]   An Automated Deductive Verification Framework for Circuit-building Quantum Programs [J].
Chareton, Christophe ;
Bardin, Sebastien ;
Bobot, Francois ;
Perrelle, Valentin ;
Valiron, Benoit .
PROGRAMMING LANGUAGES AND SYSTEMS, ESOP 2021, 2021, 12648 :148-177
[9]   Black-Box Equivalence Checking Across Compiler Optimizations [J].
Dahiya, Manjeet ;
Bansal, Sorav .
PROGRAMMING LANGUAGES AND SYSTEMS (APLAS 2017), 2017, 10695 :127-147
[10]   Z3: An efficient SMT solver [J].
de Moura, Leonardo ;
Bjorner, Nikolaj .
TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, 2008, 4963 :337-340