5 papers
Step in Tine: Forking Processes in Functional Choreographies
Ashley Samuelson, Andrew K. Hirsch, Ethan Cecchetti
Traditional concurrent-programming techniques require programmers to painstakingly write programs for each participant in a concurrent system. Choreographic programming, in contras…
zkStruDul: Programming zkSNARKs with Structural Duality
Rahul Krishnan, Ashley Samuelson, Emily Yao +1
Non-Interactive Zero Knowledge (NIZK) proofs, such as zkSNARKS, let one prove knowledge of private data without revealing it or interacting with a verifier. While existing tooling…
Choreographic Quick Changes: First-Class Location (Set) Polymorphism
Ashley Samuelson, Andrew K. Hirsch, Ethan Cecchetti
Choreographic programming is a promising new paradigm for programming concurrent systems where a developer writes a single centralized program that compiles to individual programs…
Nonmalleable Progress Leakage
Ethan Cecchetti
Information-flow control systems often enforce progress-insensitive noninterference, as it is simple to understand and enforce. Unfortunately, real programs need to declassify resu…
A Language for Smart Contracts with Secure Control Flow (Technical Report)
Siqiu Yao, Haobin Ni, Stephanie Ma +3
Smart contracts are frequently vulnerable to control-flow attacks based on confused deputies, reentrancy, and incorrect error handling. These attacks exploit the complexity of inte…