TY - GEN
T1 - The Prusti Project
T2 - 14<sup>th</sup> International Symposium on NASA Formal Methods
AU - Astrauskas, Vytautas
AU - Bílý, Aurel
AU - Fiala, Jonáš
AU - Grannan, Zachary
AU - Matheja, Christoph
AU - Müller, Peter
AU - Poli, Federico
AU - Summers, Alexander J.
N1 - Publisher Copyright:
© 2022, Springer Nature Switzerland AG.
PY - 2022
Y1 - 2022
N2 - Rust is a modern systems programming language designed to offer both performance and static safety. A key distinguishing feature is a strong type system, which enforces by default that memory is either shared or mutable, but never both. This guarantee is used to prevent common pitfalls such as memory errors and data races. It can also be used to greatly simplify formal verification, as we demonstrated by developing the Prusti verifier, which can verify rich correctness properties of Rust programs with a very modest annotation overhead. In this paper, we provide an overview of the Prusti project. We outline its main design goals, illustrate examples of its use, and discuss important outcomes from the perspectives of a user, a verification expert, and a tool developer.
AB - Rust is a modern systems programming language designed to offer both performance and static safety. A key distinguishing feature is a strong type system, which enforces by default that memory is either shared or mutable, but never both. This guarantee is used to prevent common pitfalls such as memory errors and data races. It can also be used to greatly simplify formal verification, as we demonstrated by developing the Prusti verifier, which can verify rich correctness properties of Rust programs with a very modest annotation overhead. In this paper, we provide an overview of the Prusti project. We outline its main design goals, illustrate examples of its use, and discuss important outcomes from the perspectives of a user, a verification expert, and a tool developer.
KW - Deductive verification
KW - Rust
KW - Separation logic
U2 - 10.1007/978-3-031-06773-0_5
DO - 10.1007/978-3-031-06773-0_5
M3 - Article in proceedings
AN - SCOPUS:85131149761
SN - 9783031067723
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 88
EP - 108
BT - NASA Formal Methods
A2 - Deshmukh, Jyotirmoy V.
A2 - Havelund, Klaus
A2 - Perez, Ivan
PB - Springer
Y2 - 24 May 2022 through 27 May 2022
ER -