@inproceedings{caf651569a244cd5827a30ba045cf9f9,
title = "Statistical assertions for validating patterns and finding bugs in quantum programs",
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.",
keywords = "Assertions, Chi-square test, Correctness, Debugging, Program patterns, Quantum computing, Validation",
author = "Yipeng Huang and Margaret Martonosi",
note = "Publisher Copyright: {\textcopyright} 2019 ACM.; 46th International Symposium on Computer Architecture, ISCA 2019 ; Conference date: 22-06-2019 Through 26-06-2019",
year = "2019",
month = jun,
day = "22",
doi = "10.1145/3307650.3322213",
language = "English (US)",
series = "Proceedings - International Symposium on Computer Architecture",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
pages = "541--553",
booktitle = "ISCA 2019 - Proceedings of the 2019 46th International Symposium on Computer Architecture",
address = "United States",
}