Modular Formal Verification of Safety Properties of Rust Programs with Unsafe Blocks KU Leuven
Rust is a modern systems programming language whose type system guarantees the absence of undefined behaviour. To enhance expressivity and performance, it allows programmers to temporarily relax typing rules using the syntactic construct called 'unsafe blocks'. However, in unsafe blocks, it is the programmer's responsibility to ensure that the code does not exhibit undefined behaviour. Even most expert programmers make mistakes and a memory ...