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

Rust is a relatively new programming language that targets efficient and safe
systems-level applications. It includes a sophisticated type system that
allows for provable memory- and thread-safety, and is explicitly designed to
take the place of unsafe languages such as C and C++ in the coding ecosystem.
There is a large existing C and C++ codebase (many of which have been affected
by bugs and security vulnerabilities due to unsafety) that would benefit from
being rewritten in Rust to remove an entire class of potential bugs. However,
porting these applications to Rust manually is a daunting task.

In this paper we investigate the problem of automatically translating C
programs into safer Rust programs–that is, Rust programs that
improve on the safety guarantees of the original C programs. We conduct an
in-depth study into the underlying causes of unsafety in translated programs
and the relative impact of fixing each cause. We also describe a novel
technique for automatically removing a particular cause of unsafety and
evaluate its effectiveness and impact. This paper presents the first empirical
study of unsafety in translated Rust programs (as opposed to programs
originally written in Rust) and also the first technique for automatically
removing causes of unsafety in translated Rust programs.

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