Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Kesha Hietala

dblp:203/8410 · DBLP profile ↗
← Back
10ranked-venue papers
3as first author
7since 2021 · last 2024
0000-0002-2724-0974ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 9 · 2 first-author · 6 since 2021Theory of computation · 2 · 1 first-author · 2 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
6 papers
Compilers and program optimization · 47% Program analysis · 20% Program verification · 16%
Network and information security
2 papers
Authentication and access control · 95% Systems and software security · 5%
Theoretical computer science
3 papers
Quantum computing and quantum information · 83% Logic in computer science · 17%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Emerging computing paradigms · 100%

Topics — the 20 heaviest of 21, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Compilers and program optimization
verified compilation
1.732023
A Verified Optimizer for Quantum Circuits · ACM Trans. Program. Lang. Syst. 2023
Verified compilation of Quantum oracles · Proc. ACM Program. Lang. 2022
A verified optimizer for Quantum circuits · Proc. ACM Program. Lang. 2021
Authentication and access control
access control
0.812024
Cedar: A New Language for Expressive, Fast, Safe, and Analyzable Authorization · Proc. ACM Program. Lang. 2024
Authentication and access control › access control models
attribute-based access control
0.812024
Cedar: A New Language for Expressive, Fast, Safe, and Analyzable Authorization · Proc. ACM Program. Lang. 2024
Authentication and access control
authorization
0.812024
Cedar: A New Language for Expressive, Fast, Safe, and Analyzable Authorization · Proc. ACM Program. Lang. 2024
Authentication and access control › access control
role-based access control
0.812024
Cedar: A New Language for Expressive, Fast, Safe, and Analyzable Authorization · Proc. ACM Program. Lang. 2024
Compilers and program optimization › verified compilation
verified optimization
0.712023
A Verified Optimizer for Quantum Circuits · ACM Trans. Program. Lang. Syst. 2023
Emerging computing paradigms › quantum computer architecture
quantum circuit optimization
0.712023
A Verified Optimizer for Quantum Circuits · ACM Trans. Program. Lang. Syst. 2023
Emerging computing paradigms
quantum computing
0.712023
A Verified Optimizer for Quantum Circuits · ACM Trans. Program. Lang. Syst. 2023
Quantum computing and quantum information
quantum programming languages
0.612022
Verified compilation of Quantum oracles · Proc. ACM Program. Lang. 2022
Program synthesis and code generation › component-based synthesis
adapter synthesis
0.512021
Finding Substitutable Binary Code By Synthesizing Adapters · IEEE Trans. Software Eng. 2021
Program analysis
binary analysis
0.512021
Finding Substitutable Binary Code By Synthesizing Adapters · IEEE Trans. Software Eng. 2021
Program analysis › symbolic execution
binary symbolic execution
0.512021
Finding Substitutable Binary Code By Synthesizing Adapters · IEEE Trans. Software Eng. 2021
Quantum computing and quantum information
quantum circuit optimization
0.512021
A verified optimizer for Quantum circuits · Proc. ACM Program. Lang. 2021
Program verification › code-level verification
quantum program verification
0.412019
Quantitative robustness analysis of quantum programs · Proc. ACM Program. Lang. 2019
Software testing
robustness analysis
0.412019
Quantitative robustness analysis of quantum programs · Proc. ACM Program. Lang. 2019
Logic in computer science
program logic
0.412019
Quantitative robustness analysis of quantum programs · Proc. ACM Program. Lang. 2019
Quantum computing and quantum information › quantum programming languages
quantum program logic
0.412019
Quantitative robustness analysis of quantum programs · Proc. ACM Program. Lang. 2019
Quantum computing and quantum information › quantum programming languages
quantum program semantics
0.412019
Quantitative robustness analysis of quantum programs · Proc. ACM Program. Lang. 2019
Program verification
proof assistants
0.212023
A Verified Optimizer for Quantum Circuits · ACM Trans. Program. Lang. Syst. 2023
Systems and software security › software protection
binary hardening
0.112021
Finding Substitutable Binary Code By Synthesizing Adapters · IEEE Trans. Software Eng. 2021

Methods — techniques the papers use, named apart from their topics

coq proof assistant · 2.1proof assistant · 1.5logical encoding · 1.5coq · 1.3property-based testing · 1.1symbolic execution · 1.0matrix semantics · 1.0concrete adapter enumeration · 1.0soundness proof · 0.8denotational semantics · 0.8
YearPublicationVenuePosition
2024 Cedar: A New Language for Expressive, Fast, Safe, and Analyzable Authorization
abstract
Cedar is a new authorization policy language designed to be ergonomic, fast, safe, and analyzable. Rather than embed authorization logic in an application’s code, developers can write that logic as Cedar policies and delegate access decisions to Cedar’s evaluation engine. Cedar’s simple and intuitive syntax supports common authorization use-cases with readable policies, naturally leveraging concepts from role-based, attribute-based, and relation-based access control models. Cedar’s policy structure enables access requests to be decided quickly. Cedar’s policy validator leverages optional typing to help policy writers avoid mistakes, but not get in their way. Cedar’s design has been finely balanced to allow for a sound and complete logical encoding, which enables precise policy analysis, e.g., to ensure that when refactoring a set of policies, the authorized permissions do not change. We have modeled Cedar in the Lean programming language, and used Lean’s proof assistant to prove important properties of Cedar’s design. We have implemented Cedar in Rust, and released it open-source. Comparing Cedar to two open-source languages, OpenFGA and Rego, we find (subjectively) that Cedar has equally or more readable policies, but (objectively) performs far better.
Joseph W. Cutler, Craig Disselkoen, Aaron Eline, Shaobo He 0002, Kyle Headley, Michael Hicks 0001, Kesha Hietala, Eleftherios Ioannidis, John H. Kastner, Anwar Mamat, Darin McAdams, Matt McCutchen, Neha Rungta, Emina Torlak, Andrew Wells
Proc. ACM Program. Lang.7
2023 FastVer2: A Provably Correct Monitor for Concurrent, Key-Value Stores
abstract
FastVer is a protocol that uses a variety of memory-checking techniques to monitor the integrity of key-value stores with only a modest runtime cost. Arasu et al. formalize the high-level design of FastVer in the F* proof assistant and prove it correct. However, their formalization did not yield a provably correct implementation---FastVer is implemented in unverified C++ code.
Arvind Arasu, Tahina Ramananandro, Aseem Rastogi, Nikhil Swamy, Aymeric Fromherz, Kesha Hietala, Bryan Parno, Ravishankar Ramamurthy
CPP6
2023 A Verified Optimizer for Quantum Circuits
abstract
We 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.1
2022 Verified compilation of Quantum oracles
abstract
Quantum 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.3
2021 Proving Quantum Programs Correct
abstract
As 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
ITP1
2021 A verified optimizer for Quantum circuits
abstract
We present VOQC, the first fully 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 simple 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 uses a semantics of matrices of complex numbers, which is the standard for quantum computation, but treats matrices symbolically in order 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, Shih-Han Hung, Xiaodi Wu 0001, Michael Hicks 0001
Proc. ACM Program. Lang.1
2021 Finding Substitutable Binary Code By Synthesizing Adapters
abstract
Independently developed codebases typically contain many segments of code that perform same or closely related operations (semantic clones). Finding functionally equivalent segments enables applications like replacing a segment by a more efficient or more secure alternative. Such related segments often have different interfaces, so some glue code (an adapter) is needed to replace one with the other. In previous work, we presented an algorithm that searches for replaceable code segments by attempting to synthesize an adapter between them from some finite family of adapters; it terminates if it finds no possible adapter. In this work, we compare binary symbolic execution-based adapter search with concrete adapter enumeration based on Intel’s Pin framework, and explore the relation between size of adapter search space and total search time. We present examples of applying adapter synthesis for improving security of binary functions and switching between binary implementations of RC4. We present two large-scale evaluations: (1) we run adapter synthesis on more than 13,000 function pairs from the Linux C library, and (2) we reverse engineer fragments of ARM binary code by running more than a million adapter synthesis tasks. Our results confirm that several instances of adaptably equivalent binary functions exist in real-world code, and suggest that adapter synthesis can be applied for automatically replacing binary code with its adaptably equivalent variants.
Vaibhav Sharma 0001, Kesha Hietala, Stephen McCamant
IEEE Trans. Software Eng.2
2019 Quantitative robustness analysis of quantum programs
abstract
Quantum computation is a topic of significant recent interest, with practical advances coming from both research and industry. A major challenge in quantum programming is dealing with errors (quantum noise) during execution. Because quantum resources (e.g., qubits) are scarce, classical error correction techniques applied at the level of the architecture are currently cost-prohibitive. But while this reality means that quantum programs are almost certain to have errors, there as yet exists no principled means to reason about erroneous behavior. This paper attempts to fill this gap by developing a semantics for erroneous quantum while-programs, as well as a logic for reasoning about them. This logic permits proving a property we have identified, called є-robustness, which characterizes possible “distance” between an ideal program and an erroneous one. We have proved the logic sound, and showed its utility on several case studies, notably: (1) analyzing the robustness of noisy versions of the quantum Bernoulli factory (QBF) and quantum walk (QW); (2) demonstrating the (in)effectiveness of different error correction schemes on single-qubit errors; and (3) analyzing the robustness of a fault-tolerant version of QBF.
Shih-Han Hung, Kesha Hietala, Shaopeng Zhu, Mingsheng Ying, Michael Hicks 0001, Xiaodi Wu 0001
Proc. ACM Program. Lang.2
2018 Finding Substitutable Binary Code for Reverse Engineering by Synthesizing Adapters
Vaibhav Sharma 0001, Kesha Hietala, Stephen McCamant
ICST2
2018 Volume-Based Merge Heuristics for Disjunctive Numeric Domains
Andrew Ruef, Kesha Hietala, Arlen Cox
SAS2