English
Related papers

Related papers: C2RustXW: Program-Structure-Aware C-to-Rust Transl…

200 papers

Migrating existing C programs into Rust is increasingly desired, as Rust offers superior memory safety while maintaining C's high performance. However, vastly different features between C and Rust--e.g., distinct definitions and usages of…

Software Engineering · Computer Science 2025-03-25 Xuemeng Cai , Jiakun Liu , Xiping Huang , Yijun Yu , Haitao Wu , Chunmiao Li , Bo Wang , Imam Nur Bani Yusuf , Lingxiao Jiang

Memory safety vulnerabilities remain prevalent in today's software systems and one promising solution to mitigate them is to adopt memory-safe languages such as Rust. Due to legacy code written in memory unsafe C, there is strong motivation…

Software Engineering · Computer Science 2025-12-11 Momoko Shiraishi , Yinzhi Cao , Takahiro Shinagawa

Rewriting C code in Rust provides stronger memory safety, yet migrating large codebases such as the 32-million-line Linux kernel remains challenging. While rule-based translators (e.g., C2Rust) provide accurate yet largely unsafe Rust…

Programming Languages · Computer Science 2025-04-01 Yuchen Liu , Junhao Hu , Yingdi Shan , Ge Li , Yanzhen Zou , Yihong Dong , Tao Xie

C/C++ is a prevalent programming language. Yet, it suffers from significant memory and thread-safety issues. Recent studies have explored automated translation of C/C++ to safer languages, such as Rust. However, these studies focused mostly…

Software Engineering · Computer Science 2026-02-03 Biruk Tadesse , Vikram Nitin , Mazin Salah , Baishakhi Ray , Marcelo d'Amorim , Wesley Assunção

The C programming language has been foundational in building system-level software. However, its manual memory management model frequently leads to memory safety issues. In response, Rust has emerged as a memory-safe alternative. Moreover,…

Programming Languages · Computer Science 2026-04-07 HoHyun Sim , Hyeonjoong Cho , Yeonghyeon Go , Sadegh AlMahdi Kazemi Zarkouei , Zhoulai Fu , Ali Shokri , Binoy Ravindran

Translating legacy C codebases to Rust is increasingly demanded for building safety-critical systems. While various approaches have emerged for this task, they face inherent trade-offs: rule-based methods often struggle to satisfy code…

Software Engineering · Computer Science 2026-01-14 Chaofan Wang , Tingrui Yu , Beijun Shen , Jie Wang , Dong Chen , Wenrui Zhang , Yuling Shi , Chen Xie , Xiaodong Gu

Rust is a strong contender for a memory-safe alternative to C as a "systems" language, but porting the vast amount of existing C code to Rust remains daunting. In this paper, we evaluate the potential of large language models (LLMs) to…

Cryptography and Security · Computer Science 2026-04-24 Muhammad Farrukh , Baris Coskun , Tapti Palit , Michalis Polychronakis

In recent years, there has been a lot of interest in converting C code to Rust, to benefit from the memory and thread safety guarantees of Rust. C2Rust is a rule-based system that can automatically convert C code to functionally identical…

Software Engineering · Computer Science 2025-12-08 Vikram Nitin , Rahul Krishna , Luiz Lemos do Valle , Baishakhi Ray

Translating software written in C to Rust has significant benefits in improving memory safety. However, manual translation is cumbersome, error-prone, and often produces unidiomatic code. Large language models (LLMs) have demonstrated…

Software Engineering · Computer Science 2025-12-24 Tianyang Zhou , Ziyi Zhang , Haowen Lin , Somesh Jha , Mihai Christodorescu , Kirill Levchenko , Varun Chandrasekaran

Automating C-to-Rust migration is critical for improving software security without sacrificing performance. Traditional rule-based methods struggle with diverse C idioms, often producing rigid and unidiomatic Rust code. Large Language…

Software Engineering · Computer Science 2026-04-06 Jia Feng , Wenjie Gan , Cuiyun Gao , Chaozheng Wang , Feng Luo , Xin Xia , Ge Li , Kui Liu

Existing C to Rust translation techniques fail to balance quality and scalability: transpilation-based approaches scale to large projects but produce code with poor safety, idiomaticity, and readability. In contrast, LLM-based techniques…

Software Engineering · Computer Science 2025-11-26 Saman Dehghan , Tianran Sun , Tianxiang Wu , Zihan Li , Reyhaneh Jabbarvand

Translating C code into safe Rust is an effective way to ensure memory safety. Compared to rule-based approaches, which often produce largely unsafe Rust code, LLM-based methods generate more idiomatic and safer Rust by leveraging extensive…

Software Engineering · Computer Science 2026-05-13 Zhiqiang Yuan , Wenjun Mao , Zhuo Chen , Xiyue Shang , Chong Wang , Yiling Lou , Xin Peng

Automating C-to-Rust migration for industrial software remains difficult because build-critical context is scattered across compile configurations, macros, external symbols, and cross-module dependencies, while reusable migration knowledge…

Software Engineering · Computer Science 2026-03-30 Shengbo Wang , Mingwei Liu , Guangsheng Ou , Yuwen Chen , Zike Li , Yanlin Wang , Zibin Zheng

Rust aims to offer full memory safety for programs, a guarantee that untamed C programs do not enjoy. How difficult is it to translate existing C code to Rust? To get a complementary view from that of automatic C to Rust translators, we…

Software Engineering · Computer Science 2024-12-09 Ruishi Li , Bo Wang , Tianyu Li , Prateek Saxena , Ashish Kundu

Rust is a memory-safe programming language that significantly improves software security. Existing codebases written in unsafe memory languages, such as C, must first be transpiled to Rust to take advantage of Rust's improved safety…

Software Engineering · Computer Science 2025-10-10 Yubo Bai , Tapti Palit

Memory safety has long been a critical challenge in software engineering, particularly for legacy systems written in memory-unsafe languages such as C and C++. Rust, one of the youngest modern programming languages, offers built-in…

Software Engineering · Computer Science 2026-04-20 Sarah Bedell , Nazanin Siavash , Armin Moin

Automated translation of legacy C code into Rust aims to ensure memory safety while reducing the burden of manual migration. Early approaches in code translation rely on static rule-based methods, but they suffer from limited coverage due…

Software Engineering · Computer Science 2025-08-12 Feng Luo , Kexing Ji , Cuiyun Gao , Shuzheng Gao , Jia Feng , Kui Liu , Xin Xia , Michael R. Lyu

The advent of strong generative AI has a considerable impact on various software engineering tasks such as code repair, test generation, or language translation. While tools like GitHub Copilot are already in widespread use in interactive…

Software Engineering · Computer Science 2025-12-03 Martin Weiss , Jesko Hecking-Harbusch , Jochen Quante , Matthias Woehrle

The popularity of the Rust language continues to explode; yet, many critical codebases remain authored in C. Automatically translating C to Rust is thus an appealing course of action. Several works have gone down this path, handling an…

Programming Languages · Computer Science 2026-02-26 Aymeric Fromherz , Jonathan Protzenko

Automatically translating system software from C to Rust is an appealing but challenging problem, as it requires whole-program reasoning to satisfy Rust's ownership and borrowing discipline. A key enabling step in whole-program translation…

Programming Languages · Computer Science 2026-04-23 Victor Chen , Ayden Coughlin , Michael D. Bond
‹ Prev 1 2 3 10 Next ›