Abstract
Dubbed a safer C, Rust is a modern programming language that combines memory safety and low-level control. This interesting combination has made Rust very popular among developers and there is a growing trend of migrating legacy codebases (very often in C) to Rust. In this paper, we present a C to Rust translation approach centred around static ownership analysis. We design a suite of analyses that infer ownership models of C pointers and automatically translate the pointers into safe Rust equivalents. The resulting tool, Crown, scales to real-world codebases (half a million lines of code in less than 10 seconds) and achieves a high conversion rate.
Original language | English |
---|---|
Title of host publication | Proceedings of the International Conference on Computer Aided Verification |
Editors | Constantin Enea, Akash Lal |
Publisher | Springer, Cham |
Pages | 459-482 |
Number of pages | 24 |
Volume | III |
ISBN (Electronic) | 978-3-031-37709-9 |
ISBN (Print) | 978-3-031-37708-2 |
DOIs | |
Publication status | Published - 17 Jul 2023 |
Event | 35th International Conference on Computer Aided Verification - Maison de la Chimie, 28 Rue Saint-Dominique, 75007 Paris, France, Paris, France Duration: 17 Jul 2023 → 22 Jul 2023 http://www.i-cav.org/2023/ |
Publication series
Name | Lecture Notes in Computer Science (CAV: International Conference on Computer Aided Verification) |
---|---|
Publisher | Springer Nature |
ISSN (Print) | 0302-9743 |
ISSN (Electronic) | 1611-3349 |
Conference
Conference | 35th International Conference on Computer Aided Verification |
---|---|
Abbreviated title | CAV 2023 |
Country/Territory | France |
City | Paris |
Period | 17/07/23 → 22/07/23 |
Internet address |
Research Groups and Themes
- Programming Languages