Ownership guided C to Rust translation ...

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 R...

Full description

Bibliographic Details
Main Authors: Zhang, Hanliang, David, Cristina, Yu, Yijun, Wang, Meng
Format: Article in Journal/Newspaper
Language:unknown
Published: arXiv 2023
Subjects:
Online Access:https://dx.doi.org/10.48550/arxiv.2303.10515
https://arxiv.org/abs/2303.10515
id ftdatacite:10.48550/arxiv.2303.10515
record_format openpolar
spelling ftdatacite:10.48550/arxiv.2303.10515 2023-05-15T18:32:39+02:00 Ownership guided C to Rust translation ... Zhang, Hanliang David, Cristina Yu, Yijun Wang, Meng 2023 https://dx.doi.org/10.48550/arxiv.2303.10515 https://arxiv.org/abs/2303.10515 unknown arXiv Creative Commons Attribution 4.0 International https://creativecommons.org/licenses/by/4.0/legalcode cc-by-4.0 Programming Languages cs.PL Software Engineering cs.SE FOS Computer and information sciences Article article Preprint CreativeWork 2023 ftdatacite https://doi.org/10.48550/arxiv.2303.10515 2023-04-03T15:45:17Z 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. ... Article in Journal/Newspaper The Pointers DataCite Metadata Store (German National Library of Science and Technology)
institution Open Polar
collection DataCite Metadata Store (German National Library of Science and Technology)
op_collection_id ftdatacite
language unknown
topic Programming Languages cs.PL
Software Engineering cs.SE
FOS Computer and information sciences
spellingShingle Programming Languages cs.PL
Software Engineering cs.SE
FOS Computer and information sciences
Zhang, Hanliang
David, Cristina
Yu, Yijun
Wang, Meng
Ownership guided C to Rust translation ...
topic_facet Programming Languages cs.PL
Software Engineering cs.SE
FOS Computer and information sciences
description 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. ...
format Article in Journal/Newspaper
author Zhang, Hanliang
David, Cristina
Yu, Yijun
Wang, Meng
author_facet Zhang, Hanliang
David, Cristina
Yu, Yijun
Wang, Meng
author_sort Zhang, Hanliang
title Ownership guided C to Rust translation ...
title_short Ownership guided C to Rust translation ...
title_full Ownership guided C to Rust translation ...
title_fullStr Ownership guided C to Rust translation ...
title_full_unstemmed Ownership guided C to Rust translation ...
title_sort ownership guided c to rust translation ...
publisher arXiv
publishDate 2023
url https://dx.doi.org/10.48550/arxiv.2303.10515
https://arxiv.org/abs/2303.10515
genre The Pointers
genre_facet The Pointers
op_rights Creative Commons Attribution 4.0 International
https://creativecommons.org/licenses/by/4.0/legalcode
cc-by-4.0
op_doi https://doi.org/10.48550/arxiv.2303.10515
_version_ 1766216854182821888