English
Related papers

Related papers: Towards a Transpiler for C/C++ to Safer Rust

200 papers

Rust is a memory-safe language, and its strong safety guarantees combined with high performance have been attracting widespread adoption in systems programming and security-critical applications. However, Rust permits the use of unsafe…

Cryptography and Security · Computer Science 2025-09-23 Tianrou Xia , Kaiming Huang , Dongyeon Yu , Yuseok Jeon , Jie Zhou , Dinghao Wu , Taegyu Kim

Translating C to memory-safe languages, like Rust, prevents critical memory safety vulnerabilities that are prevalent in legacy C software. Even with recent LLM-based and tool-augmented translators, the resulting Rust code frequently…

Software Engineering · Computer Science 2026-05-19 Tianyu Li , Ruishi Li , Bo Wang , Brandon Paulsen , Umang Mathur , Prateek Saxena

C++ Modules come in C++20 to fix the long-standing build scalability problems in the language. They provide an io-efficient, on-disk representation capable to reduce build times and peak memory usage. ROOT employs the C++ modules technology…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-02-03 Vassil Vassilev , David Lange , Malik Shahzad Muzaffar , Mircho Rodozov , Oksana Shadura , Alexander Penev

Cross-language migration of large software systems is a persistent engineering challenge, particularly when the source codebase evolves rapidly. We present a methodology for LLM-assisted continuous code translation in which a large language…

Software Engineering · Computer Science 2026-04-14 Jinhua Wang , Biswa Sengupta

This paper is about the interface between languages which use a garbage collector and those which use fancy types for safe manual memory management. Garbage collection is the traditional memory management scheme for functional languages,…

Programming Languages · Computer Science 2018-07-03 Alan Jeffrey

Rust is a non-Garbage Collected (GCed) language, but the lack of GC makes expressing data-structures that require shared ownership awkward, inefficient, or both. In this paper we explore a new design for, and implementation of, GC in Rust,…

Programming Languages · Computer Science 2025-10-01 Jacob Hughes , Laurence Tratt

Rapid evolution of Large Language Models (LLMs) has achieved major advances in reasoning, planning, and function-calling capabilities. Multi-agentic collaborative frameworks using such LLMs place them at the center of solving software…

Software Engineering · Computer Science 2026-01-16 Swapnil Shinde , Sahil Wadhwa , Andy Luo , Akshay Gupta , Mohammad Shahed Sorower

This paper complements "Writing R Extensions," the official guide for writing R extensions, for those interested in developing R packages using Rust. It highlights idiosyncrasies of R and Rust that must be addressed by any integration and…

Programming Languages · Computer Science 2021-08-17 David B. Dahl

As the ECMAScript specification evolves, industrial-scale JavaScript compilers face the challenge of supporting modern language syntax while maintaining compatibility for diverse execution environments. Traditionally, compilers solve this…

Programming Languages · Computer Science 2026-03-20 Rishipal Singh Bhatia

Rusty Variation (RV) is a library for session-typed communication in Rust which offers strong compile-time correctness guarantees. Programs written using RV are guaranteed to respect a specified protocol, and are guaranteed to be free from…

Programming Languages · Computer Science 2019-09-16 Wen Kokke

This paper reports our experience of providing lightweight correctness guarantees to an open-source Rust OS, Theseus. First, we report new developments in intralingual design that leverage Rust's type system to enforce additional invariants…

Operating Systems · Computer Science 2025-01-03 Ramla Ijaz , Kevin Boos , Lin Zhong

Automated code translation aims to convert programs between different programming languages while maintaining their functionality. Due to the imperfections of code translation models, the generated translations may contain errors that…

Software Engineering · Computer Science 2025-09-19 Shuo Jin , Songqiang Chen , Xiaoyuan Xie , Shing-Chi Cheung

Secure compilers generate compiled code that withstands many target-level attacks such as alteration of control flow, data leaks or memory corruption. Many existing secure compilers are proven to be fully abstract, meaning that they reflect…

Programming Languages · Computer Science 2020-11-30 Marco Patrignani , Deepak Garg

Transpilation is a crucial process in preparing quantum circuits for execution on hardware, transforming virtual gates to match device-specific topology by introducing swap gates and basis gates, and applying optimizations that reduce…

Quantum Physics · Physics 2025-09-01 Aleksander Kaczmarek , Dikshant Dulal

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

ROOT is a data analysis framework broadly used in and outside of High Energy Physics (HEP). Since HEP software frameworks always strive for performance improvements, ROOT was extended with experimental support of runtime C++ Modules. C++…

Programming Languages · Computer Science 2019-10-02 Yuka Takahashi , Vassil Vassilev , Oksana Shadura , Raphael Isemann

The problem of reversing the compilation process, decompilation, is an important tool in reverse engineering of computer software. Recently, researchers have proposed using techniques from neural machine translation to automate the process…

Cryptography and Security · Computer Science 2022-12-20 Iman Hosseini , Brendan Dolan-Gavitt

Ownership is the concept of tracking aliases and mutations to data, useful for both memory safety and system design. The Rust programming language implements ownership via the borrow checker, a static analyzer that extends the core type…

Programming Languages · Computer Science 2021-09-24 Will Crichton

Information flow control (IFC) provides confidentiality by enforcing noninterference, which ensures that high-secrecy values cannot affect low-secrecy values. Prior work introduces fine-grained IFC approaches that modify the programming…

Programming Languages · Computer Science 2024-03-20 Ada Lamba , Max Taylor , Vincent Beardsley , Jacob Bambeck , Michael D. Bond , Zhiqiang Lin

While memory corruption bugs stemming from the use of unsafe programming languages are an old and well-researched problem, the resulting vulnerabilities still dominate real-world exploitation today. Various mitigations have been proposed to…

Cryptography and Security · Computer Science 2021-08-20 Emanuel Q. Vintila , Philipp Zieris , Julian Horsch