English
Related papers

Related papers: The Usability of Advanced Type Systems: Rust as a …

200 papers

Rust is an emerging, strongly-typed programming language focusing on efficiency and memory safety. With increasing projects adopting Rust, knowing how to use Unsafe Rust is crucial for Rust security. We observed that the description of…

Software Engineering · Computer Science 2023-08-10 Mohan Cui , Suran Sun , Hui Xu , Yangfan Zhou

The Rust programming language enforces three basic Rust principles, namely ownership, borrowing, and AXM (Aliasing Xor Mutability) to prevent security bugs such as memory safety violations and data races. However, Rust projects often have…

Cryptography and Security · Computer Science 2025-07-08 Jason Zhijingcheng Yu , Fangqi Han , Kaustab Choudhury , Trevor E. Carlson , Prateek Saxena

Rust is an emergent systems programming language highlighting memory safety by its Ownership and Borrowing System (OBS). The existing formal semantics for Rust only covers limited subsets of the major language features of Rust. Moreover,…

Programming Languages · Computer Science 2020-07-28 Shuanglong Kan , Zhe Chen , David Sanan , Shang-Wei Lin , Yang Liu

The Rust programming language restricts aliasing to provide static safety guarantees. However, in certain situations, developers need to bypass these guarantees by using a set of unsafe features. If they are used incorrectly, these features…

Software Engineering · Computer Science 2026-03-09 Ian McCormack , Tomas Dougan , Sam Estep , Hanan Hibshi , Jonathan Aldrich , Joshua Sunshine

Refinement transforms an abstract system model into a concrete, executable program, such that properties established for the abstract model carry over to the concrete implementation. Refinement has been used successfully in the development…

Logic in Computer Science · Computer Science 2023-11-27 Aurel Bílý , João C. Pereira , Jan Schär , Peter Müller

Rust is a multi-paradigm programming language developed by Mozilla that focuses on performance and safety. Rust code is arguably known best for its speed and memory safety, a property essential while developing embedded systems. Thus, it…

Write-ahead logs (WALs) are a fundamental fault-tolerance technique found in many areas of computer science. WALs must be reliable while maintaining high performance, because all operations will be written to the WAL to ensure their…

Operating Systems · Computer Science 2025-07-18 Vitor K. F. Pellegatti , Gustavo M. D. Vieira

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

Rust is a modern systems programming language whose type system guarantees memory safety. For the sake of expressivity and performance it allows programmers to relax typing rules temporarily, using unsafe code blocks. However, in unsafe…

Logic in Computer Science · Computer Science 2022-12-27 Nima Rahimi Foroushaani , Bart Jacobs

Decompiling Rust binaries is challenging due to the language's rich type system, aggressive compiler optimizations, and widespread use of high-level abstractions. In this work, we conduct a benchmark-driven evaluation of decompilation…

Programming Languages · Computer Science 2025-07-28 Zixu Zhou

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

A self-adaptive software system modifies its behavior at runtime in response to changes within the system or in its execution environment. The fulfillment of the system requirements needs to be guaranteed even in the presence of adverse…

Rust relies on its unique ownership mechanism to ensure thread and memory safety. However, numerous potential security vulnerabilities persist in practical applications. New language features in Rust pose new challenges for vulnerability…

Programming Languages · Computer Science 2026-01-08 Yu Zhang , Kaiwen Zhang , Guanjun Liu

This paper explores how design patterns could be revisited in the era of mainstream functional programming languages. I discuss the kinds of knowledge that ought to be represented as functional design patterns: architectural concepts that…

Programming Languages · Computer Science 2023-07-17 Will Crichton

As Rust gains traction for developing safer systems software, a reality check for the microcontroller hardware segment becomes necessary. How ready is the Rust ecosystem for this segment? Can Rust compete with C in practice? This paper…

Operating Systems · Computer Science 2026-05-20 Bipin Thapa , Daniele Alfonso , Lorenzo Bini , Licio Mapelli , Kaspar Schleiser , Romain Fouquet , Emmanuel Baccelli

The astrophysics community uses different tools for computational tasks such as complex systems simulations, radiative transfer calculations or big data. Programming languages like Fortran, C or C++ are commonly present in these tools and,…

Instrumentation and Methods for Astrophysics · Physics 2017-06-14 Sergi Blanco-Cuaresma , Emeline Bolmont

Type classes are a popular tool for implementing generic algorithms and data structures without loss of efficiency, bridging the gap between parametric and ad-hoc polymorphism. Since their initial development in Haskell, they now feature…

Programming Languages · Computer Science 2025-03-03 Dimi Racordon , Eugene Flesselle , Cao Nguyen Pham

Testing is an essential tool to assure software, especially so in safety-critical applications. To quantify how thoroughly a software item has been tested, a test coverage metric is required. Maybe the strictest such metric known in the…

Software Engineering · Computer Science 2025-11-25 Wanja Zaeske , Pietro Albini , Florian Gilcher , Umut Durak

Rust is one of the most promising systems programming languages to fundamentally solve the memory safety issues that have plagued low-level software for over forty years. However, to accommodate the scenarios where Rust's type rules might…

Cryptography and Security · Computer Science 2024-05-28 Jie Zhou , Mingshen Sun , John Criswell

Systems programming often requires the manipulation of resources like file handles, network connections, or dynamically allocated memory. Programmers need to follow certain protocols to handle these resources correctly. Violating these…

Programming Languages · Computer Science 2020-06-26 Gabriel Radanne , Hannes Saffrich , Peter Thiemann