VLDB 2026 Research / reviewers in the wild / expert
Liyi Li 0002
dblp:142/1135-2
· DBLP profile ↗
14ranked-venue papers
9as first author
12since 2021 · last 2026
0000-0001-8184-0244ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 8 · 5 first-author · 7 since 2021Security and privacy · 3 · 2 first-author · 3 since 2021Theory of computation · 3 · 2 first-author · 2 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Validating Quantum State Preparation ProgramsabstractOne of the key steps in quantum algorithms is to prepare an initial quantum superposition state with distinct features. These state preparation algorithms are essential to the behavior of quantum algorithms, and complicated state preparation algorithms are difficult to program correctly and effectively. We present QSV: a high-assurance framework implemented with the Rocq proof assistant, permitting the development of quantum state preparation programs and validating them to correctly reflect quantum program behaviors. The key is to reduce the program correctness assurance for a program containing a quantum superposition state to that of the program state without superposition. The reduction enables the development of an effective framework for validating quantum state preparation algorithm implementations on a classical computer — a problem considered hard and without a clear solution until now. We utilize the QuickChick property-based testing framework to validate state preparation programs. We evaluated the effectiveness of our approach across 5 case studies implemented using QSV; these cases are not simulatable on current quantum simulators. Liyi Li 0002, Anshu Sharma, Zoukarneini Difaizi Tagba, Sean Frett, Alex Potanin |
ESOP (1) | 1 |
| 2025 | TypeFlexer: Type Directed Flexible Program PartitioningabstractProgram partitioning is a proven technique for isolating potentially vulnerable code from trusted program components. We argue that an extreme isolation mechanism is not needed for all use cases. However, existing approaches tightly couple the security policy (what to partition) with the isolation mechanism (how to partition) making them inflexible. We propose TypeFlexer, which cleanly separates these concerns through a type-directed design. Our novel type system uses tainted annotations to mark entities that must be isolated, ensuring that tainted components do not interfere with untainted ones. To facilitate this process, we introduce Typematic, an automated annotation tool that not only propagates taint information according to our type rules but also identifies critical taint explosion points, allowing developers to apply explicit sanitizations where needed. We demonstrate the flexibility of our approach by designing three distinct isolation mechanisms, each with unique security guarantees and performance trade-offs. Our evaluation shows that TypeFlexer effectively contains vulnerabilities with negligible overhead as compared to the $12.8 \%$ performance penalty seen in existing state-of-the-art program partitioning techniques. Arunkumar Bhattar, Liyi Li 0002, Mingwei Zhu, Aravind Machiry |
RAID | 2 |
| 2025 | A Haskell Adiabatic DSL: Solving Classical Optimization Problems on Quantum HardwareabstractIn physics and chemistry, quantum systems are typically modeled using energy constraints formulated as Hamiltonians. Investigations into such systems often focus on the evolution of the Hamiltonians under various initial conditions, an approach summarized as Adiabatic Quantum Computing ( AQC ). Although this perspective may initially seem foreign to functional programmers, we demonstrate that conventional functional programming abstractions—specifically, the Traversable and Monad type classes—naturally capture the essence of AQC . To illustrate this connection, we introduce EnQ , a functional programming library designed to express diverse optimization problems as energy constraint computations ( ECC ). The library comprises three core components: generating the solution space, associating energy costs with potential solutions, and searching for optimal or near-optimal solutions. Because EnQ is implemented using standard Haskell, it can be executed directly through conventional classical Haskell compilers. More interestingly, we develop and implement a process to compile EnQ programs into circuits executable on quantum hardware. We validate EnQ ’s effectiveness through a number of case studies, demonstrating its capacity to express and solve classical optimization problems on quantum hardware, including search problems, type inference, number partitioning, clique finding, and graph coloring. Liyi Li 0002, David Young, James Bryan Graves, Chandeepa Dissanayake, Amr Sabry |
Proc. ACM Program. Lang. | 1 |
| 2025 | Embedding Quantum Program Verification into DafnyabstractDespite recent development of quantum program verification, it is still in its early stage, where many quantum programs are hard to verify due to their inherent probabilistic nature and parallelism in quantum superposition. We propose Qafny c , a system that compiles quantum program verification into a well-established classical program verifier Dafny, enabling the formal verification of quantum programs. The key insight behind Qafny c is the separation of quantum program verification from its execution, leveraging the strength of classical verifiers to ensure correctness before compiling certified quantum programs into executable circuits. Using Qafny c , we have successfully verified 37 diverse quantum programs by compiling their verification into Dafny. To the best of our knowledge, this is the most extensive formally verified set of quantum programs. Feifei Cheng, Sushen Vangeepuram, Henry Allard, Seyed Mohammad Reza Jafari, Alex Potanin, Liyi Li 0002 |
Proc. ACM Program. Lang. | 6 |
| 2024 | Qafny: A Quantum-Program VerifierabstractBecause of the probabilistic/nondeterministic behavior of quantum programs, it is highly advisable to verify them formally to ensure that they correctly implement their specifications. Formal verification, however, also traditionally requires significant effort. To address this challenge, we present Qafny, an automated proof system based on the program verifier Dafny and designed for verifying quantum programs. At its core, Qafny uses a type-guided quantum proof system that translates quantum operations to classical array operations modeled within a classical separation logic framework. We prove the soundness and completeness of our proof system and implement a prototype compiler that transforms Qafny programs and specifications into Dafny for automated verification purposes. We then illustrate the utility of Qafny's automated capabilities in efficiently verifying important quantum algorithms, including quantum-walk algorithms, Grover's algorithm, and Shor's algorithm. Liyi Li 0002, Mingwei Zhu, Rance Cleaveland, Alexander Nicolellis, Yi Lee, Xiaodi Wu 0001 |
ECOOP | 1 |
| 2023 | A formal model of Checked C
Liyi Li 0002, Deena L. Postol, Leonidas Lampropoulos, David Van Horn, Michael Hicks 0001 |
J. Comput. Secur. | 1 |
| 2023 | Qunity: A Unified Language for Quantum and Classical ComputingabstractWe introduce Qunity, a new quantum programming language designed to treat quantum computing as a natural generalization of classical computing. Qunity presents a unified syntax where familiar programming constructs can have both quantum and classical effects. For example, one can use sum types to implement the direct sum of linear operators, exception-handling syntax to implement projective measurements, and aliasing to induce entanglement. Further, Qunity takes advantage of the overlooked BQP subroutine theorem, allowing one to construct reversible subroutines from irreversible quantum algorithms through the uncomputation of "garbage" outputs. Unlike existing languages that enable quantum aspects with separate add-ons (like a classical language with quantum gates bolted on), Qunity provides a unified syntax and a novel denotational semantics that guarantees that programs are quantum mechanically valid. We present Qunity's syntax, type system, and denotational semantics, showing how it can cleanly express several quantum algorithms. We also detail how Qunity can be compiled into a low-level qubit circuit language like OpenQASM, proving the realizability of our design. Finn Voichick, Liyi Li 0002, Robert Rand 0001, Michael Hicks 0001 |
Proc. ACM Program. Lang. | 2 |
| 2023 | A Verified Optimizer for Quantum CircuitsabstractWe present voqc , the first verified optimizer for quantum circuits, written using the Coq proof assistant. Quantum circuits are expressed as programs in a simple, low-level language called sqir , a small quantum intermediate representation, which is deeply embedded in Coq. Optimizations and other transformations are expressed as Coq functions, which are proved correct with respect to a semantics of sqir programs. sqir programs denote complex-valued matrices, as is standard in quantum computation, but we treat matrices symbolically to reason about programs that use an arbitrary number of quantum bits. sqir ’s careful design and our provided automation make it possible to write and verify a broad range of optimizations in voqc , including full-circuit transformations from cutting-edge optimizers. Kesha Hietala, Robert Rand 0001, Liyi Li 0002, Shih-Han Hung, Xiaodi Wu 0001, Michael Hicks 0001 |
ACM Trans. Program. Lang. Syst. | 3 |
| 2022 | A Formal Model of Checked C
Liyi Li 0002, Deena L. Postol, Leonidas Lampropoulos, David Van Horn, Michael Hicks 0001 |
CSF | 1 |
| 2022 | Verified compilation of Quantum oraclesabstractQuantum algorithms often apply classical operations, such as arithmetic or predicate checks, over a quantum superposition of classical data; these so-called oracles are often the largest components of a quantum program. To ease the construction of efficient, correct oracle functions, this paper presents VQO, a high-assurance framework implemented with the Coq proof assistant. The core of VQO is OQASM, the oracle quantum assembly language. OQASM operations move qubits between two different bases via the quantum Fourier transform, thus admitting important optimizations, but without inducing entanglement and the exponential blowup that comes with it. OQASM’s design enabled us to prove correct VQO’s compilers—from a simple imperative language called OQIMP to OQASM, and from OQASM to SQIR, a general-purpose quantum assembly language—and allowed us to efficiently test properties of OQASM programs using the QuickChick property-based testing framework. We have used VQO to implement a variety of arithmetic and geometric operators that are building blocks for important oracles, including those used in Shor’s and Grover’s algorithms. We found that VQO’s QFT-based arithmetic oracles require fewer qubits, sometimes substantially fewer, than those constructed using “classical” gates; VQO’s versions of the latter were nevertheless on par with or better than (in terms of both qubit and gate counts) oracles produced by Quipper, a state-of-the-art but unverified quantum programming platform. Liyi Li 0002, Finn Voichick, Kesha Hietala, Yuxiang Peng 0004, Xiaodi Wu 0001, Michael Hicks 0001 |
Proc. ACM Program. Lang. | 1 |
| 2021 | A Complete Semantics of $\mathbb {K}$ and Its Translation to Isabelle
Liyi Li 0002, Elsa L. Gunter |
ICTAC | 1 |
| 2021 | Proving Quantum Programs CorrectabstractAs quantum computing progresses steadily from theory into practice, programmers will face a common problem: How can they be sure that their code does what they intend it to do? This paper presents encouraging results in the application of mechanized proof to the domain of quantum programming in the context of the SQIR development. It verifies the correctness of a range of a quantum algorithms including Grover's algorithm and quantum phase estimation, a key component of Shor's algorithm. In doing so, it aims to highlight both the successes and challenges of formal verification in the quantum context and motivate the theorem proving community to target quantum computing as an application domain. Kesha Hietala, Robert Rand 0001, Shih-Han Hung, Liyi Li 0002, Michael Hicks 0001 |
ITP | 4 |
| 2020 | K-LLVM: A Relatively Complete Semantics of LLVM IRabstractLLVM [Lattner and Adve, 2004] is designed for the compile-time, link-time and run-time optimization of programs written in various programming languages. The language supported by LLVM targeted by modern compilers is LLVM IR [llvm.org, 2018]. In this paper we define K-LLVM, a reference semantics for LLVM IR. To the best of our knowledge, K-LLVM is the most complete formal LLVM IR semantics to date, including all LLVM IR instructions, intrinsic functions in the LLVM documentation and Standard-C library functions that are necessary to execute many LLVM IR programs. Additionally, K-LLVM formulates an abstract machine that executes all LLVM IR instructions. The machine allows to describe our formal semantics in terms of simulating a conceptual virtual machine that runs LLVM IR programs, including non-deterministic programs. Even though the K-LLVM memory model in this paper is assumed to be a sequentially consistent memory model and does not include all LLVM concurrency memory behaviors, the design of K-LLVM’s data layout allows the K-LLVM abstract machine to execute some LLVM IR programs that previous semantics did not cover, such as the full range of LLVM IR behaviors for the interaction among LLVM IR casting, pointer arithmetic, memory operations and some memory flags (e.g. readonly) of function headers. Additionally, the memory model is modularized in a manner that supports investigating other memory models. To validate K-LLVM, we have implemented it in 𝕂 [Roşu, 2016], which generated an interpreter for LLVM IR. Using this, we ran tests including 1,385 unit test programs and around 3,000 concrete LLVM IR programs, and K-LLVM passed all of them. Liyi Li 0002, Elsa L. Gunter |
ECOOP | 1 |
| 2014 | Symbolic Analysis Tools for CSP
Liyi Li 0002, Elsa L. Gunter, William Mansky |
ICTAC | 1 |