English
Related papers

Related papers: Towards verifying unsafe Rust programs against Rus…

200 papers

Rust is a memory-safe programming language that disallows undefined behavior. Its safety guarantees have been extensively examined by the community through empirical studies, which has led to its remarkable success. However, unsafe code…

Programming Languages · Computer Science 2026-02-27 Hui Xu

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

The pinning APIs of Rust language guarantee memory location stability for self-referential and asynchronous constructs, as long as used according to the pinning API contract. Rust ensures violations of such contract are impossible in…

Software Engineering · Computer Science 2025-06-23 Yuxuan Dai , Yang Feng

Rust is a relatively new system programming language that has been experiencing a rapid adoption in the past 10 years. Rust incorporates a memory ownership model enforced at a compile time. Since this model involves zero runtime overhead,…

Programming Languages · Computer Science 2022-09-20 Nikolay Ivanov

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

The Rust programming language, with its safety guarantees, has established itself as a viable choice for low-level systems programming language over the traditional, unsafe alternatives like C/C++. These guarantees come from a strong…

Software Engineering · Computer Science 2023-08-11 Pantazis Deligiannis , Akash Lal , Nikita Mehrotra , Aseem Rastogi

Rust, a popular systems-level programming language, has garnered widespread attention due to its features of achieving run-time efficiency and memory safety. With an increasing number of real-world projects adopting Rust, understanding how…

Software Engineering · Computer Science 2024-12-20 Mohan Cui , Penglei Mao , Shuran Sun , Yangfan Zhou , Hui Xu

Ownership and borrowing systems, designed to enforce safe memory management without the need for garbage collection, have been brought to the fore by the Rust programming language. Rust also aims to bring some guarantees offered by…

Programming Languages · Computer Science 2024-10-23 Danielle Marshall , Dominic Orchard

Rust is a popular memory-safe systems programming language. In order to interact with hardware or call into non-Rust libraries, Rust provides \emph{unsafe} language features that shift responsibility for ensuring memory safety to the…

Cryptography and Security · Computer Science 2025-10-09 Merve Gülmez , Thomas Nyman , Christoph Baumann , Jan Tobias Mühlberg

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

The Rust programming language is becoming increasingly popular among systems programmers due to its efficient performance and robust memory safety guarantees. Rust employs an ownership model to ensure this guarantee by allowing each value…

Software Engineering · Computer Science 2025-01-27 Vikram Nitin , Anne Mulhern , Sanjay Arora , Baishakhi Ray

Rust is a programming language that combines memory safety and low-level control, providing C-like performance while guaranteeing the absence of undefined behaviors by default. Rust's growing popularity has prompted research on safe and…

Programming Languages · Computer Science 2024-05-28 Aidan Z. H. Yang , Yoshiki Takashima , Brandon Paulsen , Josiah Dodds , Daniel Kroening

Rust is a modern programming language that guarantees memory safety and the absence of data races with a strong type system. We present RustyDL, a program logic for Rust, as a foundation for an auto-interactive, deductive verification tool…

Programming Languages · Computer Science 2026-02-26 Daniel Drodt , Reiner Hähnle

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

Programmers learning Rust struggle to understand ownership types, Rust's core mechanism for ensuring memory safety without garbage collection. This paper describes our attempt to systematically design a pedagogy for ownership types. First,…

Programming Languages · Computer Science 2023-09-11 Will Crichton , Gavin Gray , Shriram Krishnamurthi

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

Dubbed a safer C, Rust is a modern programming language that combines memory safety and low-level control. This interesting combination has made Rust very popular among developers and there is a growing trend of migrating legacy codebases…

Programming Languages · Computer Science 2023-03-21 Hanliang Zhang , Cristina David , Yijun Yu , Meng Wang

Rust is a modern systems programming language that ensures memory safety by enforcing ownership and borrowing rules at compile time. While the unsafe keyword allows programmers to bypass these restrictions, it introduces significant risks.…

Software Engineering · Computer Science 2026-01-21 Jialun Zhang , Merve Gulmez , Thomas Nyman , Gang Tan

RustMC is a stateless model checker that enables verification of concurrent Rust programs. As both Rust and C/C++ compile to LLVM IR, RustMC builds on GenMC which provides a verification framework for LLVM IR. This enables the automatic…

Programming Languages · Computer Science 2025-02-11 Oliver Pearce , Julien Lange , Dan O'Keeffe

Reduction to the satisfiability problem for constrained Horn clauses (CHCs) is a widely studied approach to automated program verification. The current CHC-based methods for pointer-manipulating programs, however, are not very scalable.…

Programming Languages · Computer Science 2020-06-12 Yusuke Matsushita , Takeshi Tsukada , Naoki Kobayashi