Mon 19 Jun 2023 09:40 - 10:00 at Royal - PLDI: Welcome & Opening Session Chair(s): Nate Foster

Most software domains rely on compilers to translate high-level code to multiple different machine languages, with performance not too much worse than what developers would have the patience to write directly in assembly language. However, cryptography has been an exception, where many performance-critical routines have been written directly in assembly (sometimes through metaprogramming layers). Some past work has shown how to do formal verification of that assembly, and other work has shown how to generate C code automatically along with formal proof, but with consequent performance penalties vs. the best-known assembly. We present CryptOpt, the first compilation pipeline that specializes high-level cryptographic functional programs into assembly code significantly faster than what GCC or Clang produce, with mechanized proof (in Coq) whose final theorem statement mentions little beyond the input functional program and the operational semantics of x86-64 assembly. On the optimization side, we apply randomized search through the space of assembly programs, with repeated automatic benchmarking on target CPUs. On the formal-verification side, we connect to the Fiat Cryptography framework (which translates functional programs into C-like IR code) and extend it with a new formally verified program-equivalence checker, incorporating a modest subset of known features of SMT solvers and symbolic-execution engines. The overall prototype is quite practical, e.g. producing new fastest-known implementations of finite-field arithmetic for both Curve25519 (part of the TLS standard) and the Bitcoin elliptic curve secp256k1 for the Intel 12th and 13th generations.

Mon 19 Jun

Displayed time zone: Eastern Time (US & Canada) change

09:00 - 11:00
PLDI: Welcome & Opening SessionPLDI Research Papers at Royal
Chair(s): Nate Foster Cornell University

#pldi-mon-0900-opening-royal Discord icon small YouTube icon small

09:00
20m
Day opening
Welcome to PLDI
PLDI Research Papers
Steve Blackburn Google and Australian National University, Nate Foster Cornell University
09:20
20m
Talk
Mosaic: An Interoperable Compiler for Tensor AlgebraDistinguished Paper
PLDI Research Papers
Manya Bansal Stanford University, Olivia Hsu Stanford University, Kunle Olukotun Stanford University, Fredrik Kjolstad Stanford University
DOI
09:40
20m
Talk
CryptOpt: Verified Compilation with Randomized Program Search for Cryptographic PrimitivesDistinguished Paper
PLDI Research Papers
Joel Kuepper University of Adelaide, Andres Erbsen MIT, Jason Gross MIT CSAIL, Owen Conoly MIT, Chuyue Sun Stanford, Samuel Tian MIT, David Wu University of Adelaide, Adam Chlipala Massachusetts Institute of Technology, Chitchanok Chuengsatiansup The University of Melbourne, Daniel Genkin Georgia Tech, Markus Wagner Monash University, Australia, Yuval Yarom Ruhr University Bochum
DOI Pre-print
10:00
20m
Talk
Synthesizing MILP Constraints for Efficient and Robust OptimizationDistinguished Paper
PLDI Research Papers
Jingbo Wang University of Southern California, Aarti Gupta Princeton University, Chao Wang University of Southern California
DOI
10:20
20m
Talk
An Automata-Based Framework for Verification and Bug Hunting in Quantum CircuitsDistinguished Paper
PLDI Research Papers
Yu-Fang Chen Academia Sinica, Taiwan, Kai-Min Chung Academia Sinica, Ondřej Lengál Brno University of Technology, Jyun-Ao Lin Academia Sinica, Wei-Lun Tsai Academia Sinica, Di-De Yen Academia Sinica
DOI
10:40
20m
Talk
Covering All the Bases: Type-Based Verification of Test Input GeneratorsDistinguished Paper
PLDI Research Papers
Zhe Zhou Purdue University, Ashish Mishra Purdue University, Benjamin Delaware Purdue University, Suresh Jagannathan Purdue University
DOI Pre-print