2 citations · 3 across the 3 of their papers we have counts for
6 papers · 1 filter
Parsing Randomness: Unifying and Differentiating Parsers and Random Generators
Harrison Goldstein, Benjamin C. Pierce
"A generator is a parser of randomness." This perspective on generators for random data structures is well established as folklore in the programming languages community, but it ha…
Interaction Trees: Representing Recursive and Impure Programs in Coq
Li-yao Xia, Yannick Zakowski, Paul He +4
"Interaction trees" (ITrees) are a general-purpose data structure for representing the behaviors of recursive programs that interact with their environments. A coinductive variant…
Fuzzi: A Three-Level Logic for Differential Privacy
Hengchu Zhang, Edo Roth, Andreas Haeberlen +2
Curators of sensitive datasets sometimes need to know whether queries against the data are differentially private [Dwork et al. 2006]. Two sorts of logics have been proposed for ch…
From C to Interaction Trees: Specifying, Verifying, and Testing a Networked Server
Nicolas Koh, Yao Li, Yishuai Li +6
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 toge…
Synthesizing Symmetric Lenses
Anders Miltner, Solomon Maina, Kathleen Fisher +3
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. Len…
Synthesizing Bijective Lenses
Anders Miltner, Kathleen Fisher, Benjamin C. Pierce +2
Bidirectional transformations between different data representations occur frequently in modern software systems. They appear as serializers and deserializers, as database views an…