To refer to this page use:
|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.|
|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|
|Pages:||541 - 553|
|Type of Material:||Conference Article|
|Journal/Proceeding Title:||Proceedings of the 46th International Symposium on Computer Architecture|
Items in OAR@Princeton are protected by copyright, with all rights reserved, unless otherwise indicated.