English

Modular Formal Verification of Rust Programs with Unsafe Blocks

Logic in Computer Science 2022-12-27 v1 Programming Languages

Abstract

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 blocks, the burden of making sure that the code does not end up having undefined behaviour is on the programmer. Even most expert programmers make mistakes and a memory safety bug in an unsafe block renders all the type system guarantees void. To address this problem we are trying to verify soundness of Rust unsafe code applying our Modular Symbolic Execution algorithm. This text outlines our approach and the progress that has been made so far.

Keywords

Cite

@article{arxiv.2212.12976,
  title  = {Modular Formal Verification of Rust Programs with Unsafe Blocks},
  author = {Nima Rahimi Foroushaani and Bart Jacobs},
  journal= {arXiv preprint arXiv:2212.12976},
  year   = {2022}
}

Comments

22 pages, 13 listings, 3 figures, Technical report, Appendix by Bart Jacobs

R2 v1 2026-06-28T07:52:26.257Z