File Download

  • Find it @ UNIST can give you direct access to the published full text of this article. (UNISTARs only)
Related Researcher

홍재민

Hong, Jaemin
Read More

Views & Downloads

Detailed Information

Cited time in webofscience Cited time in scopus
Metadata Downloads

Automatically Translating C to Rust

Author(s)
Hong, JaeminRyu, Sukyoung
Issued Date
2025-11
DOI
10.1145/3737696
URI
https://scholarworks.unist.ac.kr/handle/201301/91279
Fulltext
https://dl.acm.org/doi/10.1145/3737696
Citation
COMMUNICATIONS OF THE ACM, v.68, no.11, pp.0
Abstract
Legacy system programs developed in C have suffered from prevalent memory bugs. Migrating these systems to Rust is a promising way to enhance reliability, thanks to Rust’s strong safety guarantee. Due to the high cost of manual migration, automatic C-to-Rust translators are essential for enabling the migration of real-world systems. However, existing translators generate unsatisfactory code by relying on language features whose safety is not validated by the compiler and code patterns considered unidiomatic by Rust developers. To improve the quality of automatic translation, static analysis and code transformation can be employed to replace unsafe features and unidiomatic patterns with safe and idiomatic alternatives. This article discusses the research community’s efforts to address scalar pointers, locks, unions with tags, and output parameters, and introduces remaining unsafe features and unidiomatic patterns that future work should tackle. Furthermore, we explore the potential of using large language models for C-to-Rust translation.
Publisher
ASSOC COMPUTING MACHINERY
ISSN
0001-0782

qrcode

Items in Repository are protected by copyright, with all rights reserved, unless otherwise indicated.