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)

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 languageEnglish
Title of host publicationProceedings of the International Conference on Computer Aided Verification
EditorsConstantin Enea, Akash Lal
PublisherSpringer, Cham
Pages459-482
Number of pages24
VolumeIII
ISBN (Electronic)978-3-031-37709-9
ISBN (Print)978-3-031-37708-2
DOIs
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
http://www.i-cav.org/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

Conference

Conference35th International Conference on Computer Aided Verification
Abbreviated titleCAV 2023
Country/TerritoryFrance
CityParis
Period17/07/2322/07/23
Internet address

Structured keywords

  • Programming Languages

Fingerprint

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

Cite this