Skip to main content

Showing 1–20 of 20 results for author: Zdancewic, S

Searching in archive cs. Search in all archives.
.
  1. arXiv:2504.02975  [pdf, ps, other

    cs.PL

    Functional Meaning for Parallel Streaming

    Authors: Nick Rioux, Steve Zdancewic

    Abstract: Nondeterminism introduced by race conditions and message reorderings makes parallel and distributed programming hard. Nevertheless, promising approaches such as LVars and CRDTs address this problem by introducing a partial order structure on shared state that describes how the state evolves over time. Monotone programs that respect the order are deterministic. Datalog-inspired languages incorporat… ▽ More

    Submitted 3 April, 2025; originally announced April 2025.

    Comments: Extended version of paper to appear in PLDI 2025

  2. arXiv:2410.14906  [pdf, ps, other

    cs.PL cs.LO

    Structural temporal logic for mechanized program verification

    Authors: Eleftherios Ioannidis, Yannick Zakowski, Steve Zdancewic, Sebastian Angel

    Abstract: Mechanized verification of liveness properties for infinite programs with effects and nondeterminism is challenging. Existing temporal reasoning frameworks operate at the level of models such as traces and automata. Reasoning happens at a very low-level, requiring complex nested (co-)inductive proof techniques and familiarity with proof assistant mechanics (e.g., the guardedness checker). Further,… ▽ More

    Submitted 7 April, 2025; v1 submitted 18 October, 2024; originally announced October 2024.

  3. arXiv:2405.11361  [pdf, other

    cs.PL

    Opportunistically Parallel Lambda Calculus. Or, Lambda: The Ultimate LLM Scripting Language

    Authors: Stephen Mell, Konstantinos Kallas, Steve Zdancewic, Osbert Bastani

    Abstract: Scripting languages are widely used to compose external calls, such as foreign functions that perform expensive computations, remote APIs, and more recently, machine learning systems such as large language models (LLMs). The execution time of scripts is often dominated by waiting for these external calls, and large speedups can be achieved via parallelization and streaming. However, doing this man… ▽ More

    Submitted 19 January, 2025; v1 submitted 18 May, 2024; originally announced May 2024.

  4. A Two-Phase Infinite/Finite Low-Level Memory Model

    Authors: Calvin Beck, Irene Yoon, Hanxi Chen, Yannick Zakowski, Steve Zdancewic

    Abstract: This paper provides a novel approach to reconciling complex low-level memory model features, such as pointer--integer casts, with desired refinements that are needed to justify the correctness of program transformations. The idea is to use a "two-phased" memory model, one with and unbounded memory and corresponding unbounded integer type, and one with a finite memory; the connection between the tw… ▽ More

    Submitted 24 April, 2024; originally announced April 2024.

    ACM Class: D.3.1

    Journal ref: 2024

  5. Syntax Monads for the Working Formal Metatheorist

    Authors: Lawrence Dunn, Val Tannen, Steve Zdancewic

    Abstract: Formally verifying the properties of formal systems using a proof assistant requires justifying numerous minor lemmas about capture-avoiding substitution. Despite work on category-theoretic accounts of syntax and variable binding, raw, first-order representations of syntax, the kind considered by many practitioners and compiler frontends, have received relatively little attention. Therefore applic… ▽ More

    Submitted 14 December, 2023; originally announced December 2023.

    Comments: In Proceedings ACT 2023, arXiv:2312.08138

    Journal ref: EPTCS 397, 2023, pp. 98-117

  6. Ideograph: A Language for Expressing and Manipulating Structured Data

    Authors: Stephen Mell, Osbert Bastani, Steve Zdancewic

    Abstract: We introduce Ideograph, a language for expressing and manipulating structured data. Its types describe kinds of structures, such as natural numbers, lists, multisets, binary trees, syntax trees with variable binding, directed multigraphs, and relational databases. Fully normalized terms of a type correspond exactly to members of the structure, analogous to a Church-encoding. Moreover, definable op… ▽ More

    Submitted 28 March, 2023; originally announced March 2023.

    Comments: In Proceedings TERMGRAPH 2022, arXiv:2303.14219

    Journal ref: EPTCS 377, 2023, pp. 65-84

  7. Choice Trees: Representing Nondeterministic, Recursive, and Impure Programs in Coq

    Authors: Nicolas Chappe, Paul He, Ludovic Henrio, Yannick Zakowski, Steve Zdancewic

    Abstract: This paper introduces Choice Trees (ctrees), a monad for modeling nondeterministic, recursive, and impure programs in Coq. Inspired by Xia et al.'s itrees, this novel data structure embeds computations into coinductive trees with three kind of nodes: external events, and two variants of nondeterministic branching. This apparent redundancy allows us to provide shallow embedding of denotational mode… ▽ More

    Submitted 13 November, 2022; originally announced November 2022.

  8. arXiv:2204.13192  [pdf, other

    cs.CL cs.LG

    Counterfactual Explanations for Natural Language Interfaces

    Authors: George Tolkachev, Stephen Mell, Steve Zdancewic, Osbert Bastani

    Abstract: A key challenge facing natural language interfaces is enabling users to understand the capabilities of the underlying system. We propose a novel approach for generating explanations of a natural language interface based on semantic parsing. We focus on counterfactual explanations, which are post-hoc explanations that describe to the user how they could have minimally modified their utterance to ac… ▽ More

    Submitted 27 April, 2022; originally announced April 2022.

    Comments: 6 pages, 1 figure, 1 algorithm, 1 table. To be published in Association for Computational Linguistics 2022 conference

  9. Model-Based Testing of Networked Applications

    Authors: Yishuai Li, Benjamin C. Pierce, Steve Zdancewic

    Abstract: We present a principled automatic testing framework for application-layer protocols. The key innovation is a domain-specific embedded language for writing nondeterministic models of the behavior of networked servers. These models are defined within the Coq interactive theorem prover, supporting a smooth transition from testing to formal verification. Given a server model, we show how to automati… ▽ More

    Submitted 2 July, 2021; v1 submitted 30 January, 2021; originally announced February 2021.

    Comments: 11 pages, 15 figures

    ACM Class: D.2.5; F.3.1

    Journal ref: Proceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2021). Association for Computing Machinery, New York, NY, USA, 529--539

  10. An Equational Theory for Weak Bisimulation via Generalized Parameterized Coinduction

    Authors: Yannick Zakowski, Paul He, Chung-Kil Hur, Steve Zdancewic

    Abstract: Coinductive reasoning about infinitary structures such as streams is widely applicable. However, practical frameworks for developing coinductive proofs and finding reasoning principles that help structure such proofs remain a challenge, especially in the context of machine-checked formalization. This paper gives a novel presentation of an equational theory for reasoning about structures up to we… ▽ More

    Submitted 8 January, 2020; originally announced January 2020.

    Comments: To be published in CPP 2020

  11. Interaction Trees: Representing Recursive and Impure Programs in Coq

    Authors: Li-yao Xia, Yannick Zakowski, Paul He, Chung-Kil Hur, Gregory Malecha, Benjamin C. Pierce, Steve Zdancewic

    Abstract: "Interaction trees" (ITrees) are a general-purpose data structure for representing the behaviors of recursive programs that interact with their environments. A coinductive variant of "free monads," ITrees are built out of uninterpreted events and their continuations. They support compositional construction of interpreters from "event handlers", which give meaning to events by defining their semant… ▽ More

    Submitted 14 November, 2019; v1 submitted 31 May, 2019; originally announced June 2019.

    Comments: 28 pages, 4 pages references, published at POPL 2020

  12. arXiv:1904.04371  [pdf, other

    cs.PL quant-ph

    A HoTT Quantum Equational Theory (Extended Version)

    Authors: Jennifer Paykin, Steve Zdancewic

    Abstract: This paper presents an equational theory for the QRAM model of quantum computation, formulated as an embedded language inside of homotopy type theory. The embedded language approach is highly expressive, and reflects the style of state-of-the art quantum languages like Quipper and QWIRE. The embedding takes advantage of features of homotopy type theory to encode unitary transformations as higher i… ▽ More

    Submitted 8 April, 2019; originally announced April 2019.

  13. arXiv:1901.10118  [pdf, ps, other

    cs.LO cs.ET cs.PL

    ReQWIRE: Reasoning about Reversible Quantum Circuits

    Authors: Robert Rand, Jennifer Paykin, Dong-Ho Lee, Steve Zdancewic

    Abstract: Common quantum algorithms make heavy use of ancillae: scratch qubits that are initialized at some state and later returned to that state and discarded. Existing quantum circuit languages let programmers assert that a qubit has been returned to the |0> state before it is discarded, allowing for a range of optimizations. However, existing languages do not provide the tools to verify these assertions… ▽ More

    Submitted 29 January, 2019; originally announced January 2019.

    Comments: In Proceedings QPL 2018, arXiv:1901.09476

    ACM Class: D.2.4; F.3.1

    Journal ref: EPTCS 287, 2019, pp. 299-312

  14. From C to Interaction Trees: Specifying, Verifying, and Testing a Networked Server

    Authors: Nicolas Koh, Yao Li, Yishuai Li, Li-yao Xia, Lennart Beringer, Wolf Honoré, William Mansky, Benjamin C. Pierce, Steve Zdancewic

    Abstract: We present the first formal verification of a networked server implemented in C. Interaction trees, a general structure for representing reactive computations, are used to tie together disparate verification and testing tools (Coq, VST, and QuickChick) and to axiomatize the behavior of the operating system on which the server runs (CertiKOS). The main theorem connects a specification of acceptable… ▽ More

    Submitted 28 November, 2018; originally announced November 2018.

    Comments: 13 pages + references

    Journal ref: Proceedings of the 8th ACM SIGPLAN International Conference on Certified Programs and Proofs (CPP '19), January 14--15, 2019, Cascais, Portugal

  15. arXiv:1810.11527  [pdf, other

    cs.PL

    Synthesizing Symmetric Lenses

    Authors: Anders Miltner, Solomon Maina, Kathleen Fisher, Benjamin C. Pierce, David Walker, Steve Zdancewic

    Abstract: Lenses are programs that can be run both "front to back" and "back to front," allowing updates to either their source or their target data to be transferred in both directions. Lenses have been extensively studied, extended, and applied. Recent work has demonstrated how techniques from type-directed program synthesis can be used to efficiently synthesize a simple class of lenses---bijective lenses… ▽ More

    Submitted 25 June, 2019; v1 submitted 26 October, 2018; originally announced October 2018.

    Comments: ICFP 2019

  16. arXiv:1805.05400  [pdf, ps, other

    cs.PL cs.LO

    Structural Operational Semantics for Control Flow Graph Machines

    Authors: Dmitri Garbuzov, William Mansky, Christine Rizkallah, Steve Zdancewic

    Abstract: Compilers use control flow graph (CFG) representations of low-level programs because they are suited to program analysis and optimizations. However, formalizing the behavior and metatheory of CFG programs is non-trivial: CFG programs don't compose well, their semantics depends on auxiliary state, and, as a consequence, they do not enjoy a simple equational theory that can be used for reasoning abo… ▽ More

    Submitted 14 May, 2018; originally announced May 2018.

  17. arXiv:1803.00699  [pdf, other

    cs.LO cs.ET cs.PL

    QWIRE Practice: Formal Verification of Quantum Circuits in Coq

    Authors: Robert Rand, Jennifer Paykin, Steve Zdancewic

    Abstract: We describe an embedding of the QWIRE quantum circuit language in the Coq proof assistant. This allows programmers to write quantum circuits using high-level abstractions and to prove properties of those circuits using Coq's theorem proving features. The implementation uses higher-order abstract syntax to represent variable binding and provides a type-checking algorithm for linear wire types, ensu… ▽ More

    Submitted 1 March, 2018; originally announced March 2018.

    Comments: In Proceedings QPL 2017, arXiv:1802.09737

    ACM Class: D.2.4; F.3.1

    Journal ref: EPTCS 266, 2018, pp. 119-132

  18. arXiv:1710.03248  [pdf, ps, other

    cs.PL

    Synthesizing Bijective Lenses

    Authors: Anders Miltner, Kathleen Fisher, Benjamin C. Pierce, David Walker, Steve Zdancewic

    Abstract: Bidirectional transformations between different data representations occur frequently in modern software systems. They appear as serializers and deserializers, as database views and view updaters, and more. Manually building bidirectional transformations---by writing two separate functions that are intended to be inverses---is tedious and error prone. A better approach is to use a domain-specific… ▽ More

    Submitted 9 October, 2017; originally announced October 2017.

    Comments: 127 Pages, Extended Version with Appendix

  19. A Linear/Producer/Consumer Model of Classical Linear Logic

    Authors: Jennifer Paykin, Steve Zdancewic

    Abstract: This paper defines a new proof- and category-theoretic framework for classical linear logic that separates reasoning into one linear regime and two persistent regimes corresponding to ! and ?. The resulting linear/producer/consumer (LPC) logic puts the three classes of propositions on the same semantic footing, following Benton's linear/non-linear formulation of intuitionistic linear logic. Semant… ▽ More

    Submitted 16 February, 2015; originally announced February 2015.

    Comments: In Proceedings LINEARITY 2014, arXiv:1502.04419

    Journal ref: EPTCS 176, 2015, pp. 9-23

  20. Finite Vector Spaces as Model of Simply-Typed Lambda-Calculi

    Authors: Benoît Valiron, Steve Zdancewic

    Abstract: In this paper we use finite vector spaces (finite dimension, over finite fields) as a non-standard computational model of linear logic. We first define a simple, finite PCF-like lambda-calculus with booleans, and then we discuss two finite models, one based on finite sets and the other on finite vector spaces. The first model is shown to be fully complete with respect to the operational semantics… ▽ More

    Submitted 5 June, 2014; originally announced June 2014.

    Comments: Accepted at ICTAC 2014. The final publication will be available at link.springer.com

    Journal ref: Proc. of ICTAC'14, in LNCS vol. 8687, pp 442-459 (2014)