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...
Main Authors: | , , , |
---|---|
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 |