English
Related papers

Related papers: Bringing Rust to Safety-Critical Systems in Space

200 papers

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

This proposal discusses the growing challenges in reverse engineering modern software binaries, particularly those compiled from newer system programming languages such as Rust, Go, and Mojo. Traditional reverse engineering techniques,…

Software Engineering · Computer Science 2025-06-05 Zhuo Zhuo , Xiangyu Zhang

Ensuring content safety in large language models (LLMs) is essential for their deployment in real-world applications. However, existing safety guardrails are predominantly tailored for high-resource languages, leaving a significant portion…

Computation and Language · Computer Science 2026-03-31 Lavish Bansal , Naman Mishra

Rust is a programming language that uses a concept of ownership to guarantee memory safety without the use of a garbage collector. However, some error messages related to ownership can be difficult to understand and fix, particularly those…

Software Engineering · Computer Science 2023-09-14 Ruochen Wang , Molly Maclaren , Michael Coblenz

Clippy lints are considered as essential tools for Rust developers, as they can be configured as gate-keeping rules for a Rust project during continuous integration. Despite their availability, little was known about practical application…

Software Engineering · Computer Science 2023-10-19 Chunmiao Li , Yijun Yu , Haitao Wu , Luca Carlig , Shijie Nie , Lingxiao Jiang

Software developers compose systems from components written in many different languages. A business-logic component may be written in Java or OCaml, a resource-intensive component in C or Rust, and a high-assurance component in Coq. In this…

Programming Languages · Computer Science 2017-11-15 Daniel Patterson , Amal Ahmed

We present Encapsulated Substitution and Agentic Refinement on a Live Scaffold for Safe C-to-Rust Translation, a two-phase pipeline for translating real-world C projects to safe Rust. Existing approaches either produce unsafe output without…

Software Engineering · Computer Science 2026-04-07 Hohyun Sim , Hyeonjoong Cho , Ali Shokri , Zhoulai Fu , Binoy Ravindran

Space systems enable essential communications, navigation, imaging and sensing for a variety of domains, including agriculture, commerce, transportation, and emergency operations by first responders. Protecting the cybersecurity of these…

Cryptography and Security · Computer Science 2023-09-28 Tim Ellis , Briland Hitaj , Ulf Lindqvist , Deborah Shands , Laura Tinnel , Bruce DeBruhl

To provide flexibility and low-level interaction capabilities, the unsafe tag in Rust is essential in many projects, but undermines memory safety and introduces Undefined Behaviors (UBs) that reduce safety. Eliminating these UBs requires a…

Software Engineering · Computer Science 2025-03-05 Renshuang Jiang , Pan Dong , Zhenling Duan , Yu Shi , Xiaoxiang Fang , Yan Ding , Jun Ma , Shuai Zhao , Zhe Jiang

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

We draw on our experience working on system and software assurance and evaluation for systems important to society to summarise how safety engineering is performed in traditional critical systems, such as aircraft flight control. We analyse…

Computers and Society · Computer Science 2025-02-07 Robin Bloomfield , John Rushby

Space is an emerging domain critical to humankind. Correspondingly, space cybersecurity is an emerging field with much research to be done. To help space cybersecurity practitioners better manage cyber risks, The Aerospace Corporation…

Cryptography and Security · Computer Science 2024-02-06 Ekzhin Ear , Brandon Bailey , Shouhuai Xu

This paper documents a year-long experiment to "profile" the process of learning a programming language: gathering data to understand what makes a language hard to learn, and using that data to improve the learning process. We added…

Programming Languages · Computer Science 2024-01-03 Will Crichton , Shriram Krishnamurthi

This work introduces a new approach to building crash-safe file systems for persistent memory. We exploit the fact that Rust's typestate pattern allows compile-time enforcement of a specific order of operations. We introduce a novel…

Operating Systems · Computer Science 2024-06-17 Hayley LeBlanc , Nathan Taylor , James Bornholt , Vijay Chidambaram

Existing automated verification techniques for safe Rust code rely on the strong type-system properties to reason about programs, especially to deduce which memory locations do not change (i.e., are framed) across function calls. However,…

Programming Languages · Computer Science 2024-05-15 Federico Poli , Xavier Denis , Peter Müller , Alexander J. Summers

Embedded systems in safety-critical environments are continuously required to deliver more performance and functionality, while expected to provide verified safety guarantees. Nonetheless, platform-wide software verification (required for…

Systems and Control · Computer Science 2017-05-09 Fardin Abdi , Renato Mancuso , Rohan Tabish , Marco Caccamo

Owing to the continued use of C (and C++), spatial safety violations (e.g., buffer overflows) still constitute one of today's most dangerous and prevalent security vulnerabilities. To combat these violations, Checked C extends C with…

Programming Languages · Computer Science 2022-03-28 Aravind Machiry , John Kastner , Matt McCutchen , Aaron Eline , Kyle Headley , Michael Hicks

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

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

The advent of reusable rockets has heralded a new era in space exploration, reducing the costs of launching satellites by a significant factor. Traditional rockets were disposable, but the design of reusable rockets for repeated use has…

Artificial Intelligence · Computer Science 2023-10-11 Gyu Seon Kim , JaeHyun Chung , Soohyun Park