arXiv · 2303.10515
Ownership guided C to Rust translation
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.
Explore related subjects
Keep this discovery
Hanliang Zhang, Cristina David, Yijun Yu, Meng Wang. 2023-03-18. Ownership guided C to Rust translation. https://arxiv.org/abs/2303.10515
Cite the original work for its findings. Save a collection to share your selection of sources.