TY - GEN
T1 - Verus
T2 - 30th ACM Symposium on Operating Systems Principles, SOSP 2024
AU - Lattuada, Andrea
AU - Hance, Travis
AU - Bosamiya, Jay
AU - Brun, Matthias
AU - Cho, Chanhee
AU - Leblanc, Hayley
AU - Srinivasan, Pranav
AU - Achermann, Reto
AU - Chajed, Tej
AU - Hawblitzel, Chris
AU - Howell, Jon
AU - Lorch, Jacob R.
AU - Padon, Oded
AU - Parno, Bryan
N1 - Publisher Copyright: © 2024 Copyright held by the owner/author(s).
PY - 2024/11/15
Y1 - 2024/11/15
N2 - Formal verification is a promising approach to eliminate bugs at compile time, before they ship. Indeed, our community has verified a wide variety of system software. However, much of this success has required heroic developer effort, relied on bespoke logics for individual domains, or sacrificed expressiveness for powerful proof automation.Building on prior work on Verus, we aim to enable faster, cheaper verification of rich properties for realistic systems. We do so by integrating and optimizing the best choices from prior systems, tuning our design to overcome barriers encountered in those systems, and introducing novel techniques.We evaluate Verus's effectiveness with a wide variety of case-study systems, including distributed systems, an OS page table, a library for NUMA-aware concurrent data structure replication, a crash-safe storage system, and a concurrent memory allocator, together comprising 6.1K lines of implementation and 31K lines of proof. Verus verifies code 3 - 61× faster and with less effort than the state of the art.Our results suggest that Verus offers a platform for exploring the next frontiers in system-verification research. Because Verus builds on Rust, Verus is also positioned for wider use in production by developers who have already adopted Rust in the pursuit of more robust systems.
AB - Formal verification is a promising approach to eliminate bugs at compile time, before they ship. Indeed, our community has verified a wide variety of system software. However, much of this success has required heroic developer effort, relied on bespoke logics for individual domains, or sacrificed expressiveness for powerful proof automation.Building on prior work on Verus, we aim to enable faster, cheaper verification of rich properties for realistic systems. We do so by integrating and optimizing the best choices from prior systems, tuning our design to overcome barriers encountered in those systems, and introducing novel techniques.We evaluate Verus's effectiveness with a wide variety of case-study systems, including distributed systems, an OS page table, a library for NUMA-aware concurrent data structure replication, a crash-safe storage system, and a concurrent memory allocator, together comprising 6.1K lines of implementation and 31K lines of proof. Verus verifies code 3 - 61× faster and with less effort than the state of the art.Our results suggest that Verus offers a platform for exploring the next frontiers in system-verification research. Because Verus builds on Rust, Verus is also positioned for wider use in production by developers who have already adopted Rust in the pursuit of more robust systems.
UR - http://www.scopus.com/inward/record.url?scp=85212325183&partnerID=8YFLogxK
U2 - https://doi.org/10.1145/3694715.3695952
DO - https://doi.org/10.1145/3694715.3695952
M3 - منشور من مؤتمر
T3 - SOSP 2024 - Proceedings of the 2024 ACM SIGOPS 30th Symposium on Operating Systems Principles
SP - 438
EP - 454
BT - SOSP 2024 - Proceedings of the 2024 ACM SIGOPS 30th Symposium on Operating Systems Principles
Y2 - 4 November 2024 through 6 November 2024
ER -