Skip to main content

Statistical assertions for validating patterns and finding bugs in quantum programs

Author(s): Huang, Yipeng; Martonosi, Margaret

Download
To refer to this page use: http://arks.princeton.edu/ark:/88435/pr1bv7j
Abstract: In support of the growing interest in quantum computing experimentation, programmers need new tools to write quantum algorithms as program code. Compared to debugging classical programs, debugging quantum programs is difficult because programmers have limited ability to probe the internal states of quantum programs; those states are difficult to interpret even when observations exist; and programmers do not yet have guidelines for what to check for when building quantum programs. In this work, we present quantum program assertions based on statistical tests on classical observations. These allow programmers to decide if a quantum program state matches its expected value in one of classical, superposition, or entangled types of states. We extend an existing quantum programming language with the ability to specify quantum assertions, which our tool then checks in a quantum program simulator. We use these assertions to debug three benchmark quantum programs in factoring, search, and chemistry. We share what types of bugs are possible, and lay out a strategy for using quantum programming patterns to place assertions and prevent bugs.
Publication Date: Jun-2019
Citation: Huang, Yipeng, and Margaret Martonosi. "Statistical assertions for validating patterns and finding bugs in quantum programs." Proceedings of the 46th International Symposium on Computer Architecture (2019): pp. 541-553. doi:10.1145/3307650.3322213
DOI: 10.1145/3307650.3322213
ISSN: 1063-6897
Pages: 541 - 553
Type of Material: Conference Article
Journal/Proceeding Title: Proceedings of the 46th International Symposium on Computer Architecture
Version: Author's manuscript



Items in OAR@Princeton are protected by copyright, with all rights reserved, unless otherwise indicated.