Ownership guided C to Rust translation

Hanliang Zhang, Cristina David, Yijun Yu, Meng Wang*

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference Contribution (Conference Proceeding)


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 languageEnglish
Title of host publicationProceedings of the International Conference on Computer Aided Verification
EditorsConstantin Enea, Akash Lal
PublisherSpringer, Cham
Number of pages24
ISBN (Electronic)978-3-031-37709-9
ISBN (Print)978-3-031-37708-2
Publication statusPublished - 17 Jul 2023
Event35th International Conference on Computer Aided Verification - Maison de la Chimie, 28 Rue Saint-Dominique, 75007 Paris, France, Paris, France
Duration: 17 Jul 202322 Jul 2023

Publication series

NameLecture Notes in Computer Science (CAV: International Conference on Computer Aided Verification)
PublisherSpringer Nature
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349


Conference35th International Conference on Computer Aided Verification
Abbreviated titleCAV 2023
Internet address

Structured keywords

  • Programming Languages


Dive into the research topics of 'Ownership guided C to Rust translation'. Together they form a unique fingerprint.

Cite this