SPLASH 2023
Sun 22 - Fri 27 October 2023 Cascais, Portugal
Fri 27 Oct 2023 16:00 - 16:18 at Room II - refactoring Chair(s): Gowtham Kaki

The Rust language was created to provide safe low-level systems programming. There is both industrial and academic interest in the problem of (semi-)automatically translating C code to Rust in order to exploit Rust’s safety guarantees. We study the effectiveness and limitations of existing techniques for automatically translating unsafe raw pointers (in Rust programs translated from C) into safe Rust references via ownership and lifetime inference. Our novel evaluation methodology enables our study to extend beyond prior studies, and to discover new information contradicting the conclusions of prior studies. We find that existing translation methods are severely limited by a lack of precision in the Rust compiler’s safety checker, causing many safe pointer manipulations to be labeled as potentially unsafe. Leveraging this information, we propose methods for improving translation, based on encoding the results of a more precise analysis in a manner that is understandable to an unmodified Rust compiler. We implement one of our proposed methods, increasing the number of pointers that can be translated to safe Rust references by 75% over the baseline (from 12% to 21% of all pointers).

Fri 27 Oct

Displayed time zone: Lisbon change

16:00 - 17:30
refactoringOOPSLA at Room II
Chair(s): Gowtham Kaki University of Colorado at Boulder
16:00
18m
Talk
Aliasing Limits on Translating C to Safe Rust
OOPSLA
Mehmet Emre University of San Francisco, Peter Boyland University of California at Santa Barbara, Aesha Parekh University of California at Santa Barbara, Ryan Schroeder University of California at Santa Barbara, Kyle Dewey California State University, Ben Hardekopf University of California at Santa Barbara
DOI Pre-print
16:18
18m
Talk
Adventure of a Lifetime: Extract Method Refactoring for Rust
OOPSLA
Sewen Thy Ahrefs Research, Yale-NUS College, Andreea Costea National University of Singapore, Kiran Gopinathan National University of Singapore, Ilya Sergey National University of Singapore
DOI Pre-print
16:36
18m
Talk
Inductive Program Synthesis Guided by Observational Program Similarity
OOPSLA
Jack Feser Hamilton College, Işıl Dillig University of Texas at Austin, Armando Solar-Lezama Massachusetts Institute of Technology
DOI
16:54
18m
Talk
Automated Translation of Functional Big Data Queries to SQL
OOPSLA
Guoqiang Zhang North Carolina State University, Benjamin Mariano University of Texas at Austin, Xipeng Shen North Carolina State University, Işıl Dillig University of Texas at Austin
DOI
17:12
18m
Talk
User-Customizable Transpilation of Scripting Languages
OOPSLA
Bo Wang National University of Singapore, Aashish Kolluri National University of Singapore, Ivica Nikolić National University of Singapore, Teodora Baluta National University of Singapore, Prateek Saxena National University of Singapore
DOI