SPLASH 2021
Sun 17 - Fri 22 October 2021 Chicago, Illinois, United States
Wed 20 Oct 2021 14:05 - 14:20 at Zurich D - Rust Chair(s): Nadia Polikarpova
Wed 20 Oct 2021 22:05 - 22:20 at Zurich D - Rust - mirror Chair(s): Toby Murray

Closures are a language feature supported by many mainstream languages, combining the ability to package up references to code blocks with the possibility of capturing state from the environment of the closure's declaration. Closures are powerful, but complicate understanding and formal reasoning, especially when closure invocations may mutate objects reachable from the captured state or from closure arguments.

This paper presents a novel technique for the modular specification and verification of closure-manipulating code in Rust. Our technique combines Rust's type system guarantees and novel specification features to enable formal verification of rich functional properties. It encodes higher-order concerns into a first-order logic, which enables automation via SMT solvers. Our technique is implemented as an extension of the deductive verifier Prusti, with which we have successfully verified many common idioms of closure usage.

Wed 20 Oct

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

13:50 - 15:10
RustOOPSLA at Zurich D +8h
Chair(s): Nadia Polikarpova University of California at San Diego
13:50
15m
Talk
Translating C to Safer RustVirtual
OOPSLA
Mehmet Emre University of California at Santa Barbara, Ryan Schroeder University of California at Santa Barbara, Kyle Dewey California State University at Northridge, Ben Hardekopf University of California at Santa Barbara
DOI
14:05
15m
Talk
Modular Specification and Verification of Closures in RustVirtual
OOPSLA
Fabian Wolff , Aurel Bílý ETH Zurich, Christoph Matheja ETH Zurich, Peter Müller ETH Zurich, Alexander J. Summers University of British Columbia
DOI
14:20
15m
Talk
Safer at Any Speed: Automatic Context-Aware Safety Enhancement for RustVirtual
OOPSLA
Natalie Popescu Princeton University, Ziyang Xu Princeton University, Sotiris Apostolakis Google, David I. August Princeton University, Amit Levy Princeton University
DOI
14:35
35m
Live Q&A
Discussion, Questions and Answers
OOPSLA

21:50 - 23:10
Rust - mirrorOOPSLA at Zurich D
Chair(s): Toby Murray University of Melbourne
21:50
15m
Talk
Translating C to Safer RustVirtual
OOPSLA
Mehmet Emre University of California at Santa Barbara, Ryan Schroeder University of California at Santa Barbara, Kyle Dewey California State University at Northridge, Ben Hardekopf University of California at Santa Barbara
DOI
22:05
15m
Talk
Modular Specification and Verification of Closures in RustVirtual
OOPSLA
Fabian Wolff , Aurel Bílý ETH Zurich, Christoph Matheja ETH Zurich, Peter Müller ETH Zurich, Alexander J. Summers University of British Columbia
DOI
22:20
15m
Talk
Safer at Any Speed: Automatic Context-Aware Safety Enhancement for RustVirtual
OOPSLA
Natalie Popescu Princeton University, Ziyang Xu Princeton University, Sotiris Apostolakis Google, David I. August Princeton University, Amit Levy Princeton University
DOI
22:35
35m
Live Q&A
Discussion, Questions and Answers
OOPSLA