A Verified Software Toolchain for Quantum Programming

dc.contributor.advisorHicks, Michaelen_US
dc.contributor.authorHietala, Keshaen_US
dc.contributor.departmentComputer Scienceen_US
dc.contributor.publisherDigital Repository at the University of Marylanden_US
dc.contributor.publisherUniversity of Maryland (College Park, Md.)en_US
dc.date.accessioned2022-09-27T05:38:52Z
dc.date.available2022-09-27T05:38:52Z
dc.date.issued2022en_US
dc.description.abstractQuantum computing is steadily moving from theory into practice, with small-scale quantum computers available for public use. Now quantum programmers are faced with a classical problem: How can they be sure that their code does what they intend it to do? I aim to show that techniques for classical program verification can be adapted to the quantum setting, allowing for the development of high-assurance quantum software, without sacrificing performance or programmability. In support of this thesis, I present several results in the application of formal methods to the domain of quantum programming, aiming to provide a high-assurance software toolchain for quantum programming. I begin by presenting SQIR, a small quantum intermediate representation deeply embedded in the Coq proof assistant, which has been used to implement and prove correct quantum algorithms such as Grover’s search and Shor’s factorization algorithm. Next, I present VOQC, a verified optimizer for quantum circuits that contains state-of-the-art SQIR program optimizations with performance on par with unverified tools. I additionally discuss VQO, a framework for specifying and verifying oracle programs, which can then be optimized with VOQC. Finally, I present exploratory work on providing high assurance for a high-level industry quantum programming language, Q#, in the F* proof assistant.en_US
dc.identifierhttps://doi.org/10.13016/3el9-osue
dc.identifier.urihttp://hdl.handle.net/1903/29337
dc.language.isoenen_US
dc.subject.pqcontrolledComputer scienceen_US
dc.subject.pquncontrolledCompilersen_US
dc.subject.pquncontrolledFormal Verificationen_US
dc.subject.pquncontrolledProgramming Languagesen_US
dc.subject.pquncontrolledQuantum Computingen_US
dc.titleA Verified Software Toolchain for Quantum Programmingen_US
dc.typeDissertationen_US

Files

Original bundle

Now showing 1 - 1 of 1
Thumbnail Image
Name:
Hietala_umd_0117E_22787.pdf
Size:
6.68 MB
Format:
Adobe Portable Document Format