Sharding the State Machine: Automated Modular Reasoning for Complex Concurrent Systems

Authors

Travis Hance, Andrea Lattuada, Reto Achermann, Alex Conway, Ryan Stutsman, Gerd Zellweger, Chris Hawblitzel, Jon Howell and Bryan Parno

Venue

Proceedings of the 17th USENIX Symposium on Operating Systems Design and Implementation (OSDI'23)

Links

[ .doi ] [ .pdf ] [ .bib ]

Abstract

We present IronSync, an automated verification framework for concurrent code with shared memory. IronSync scales to complex systems by splitting system-wide proofs into isolated concerns such that each can be substantially automated. As a starting point, IronSync's ownership type system allows a developer to straightforwardly prove both data safety and the logical correctness of thread-local operations. IronSync then introduces the concept of a Localized Transition System, which connects the correctness of local actions to the correctness of the entire system. We demonstrate IronSync by verifying two state-of-the-art concurrent systems comprising thousands of lines: a library for black-box replication on NUMA architectures, and a highly concurrent page cache.

Bibtex

@inproceedings{Hance:2023:SSM,
 author = {Hance, Travis and Lattuada, Andrea and Achermann, Reto and Conway, Alex and  Stutsman, Ryan and Zellweger, Gerd and  Hawblitzel, Chris and Howell, Jon and Parno, Bryan},
 booktitle = {Proceedings of the 17th USENIX Symposium on Operating Systems Design and Implementation},
 id = {Hance:2023:SSM},
 isbn = {978-1-939133-34-2},
 location = {Boston, MA, USA},
 pages = {911--929},
 publisher = {USENIX Association},
 series = {OSDI'23},
 title = {Sharding the State Machine: Automated Modular Reasoning for Complex Concurrent Systems},
 url = {https://www.usenix.org/conference/osdi23/presentation/hance},
 year = {2023}
}

Contact

The University of British Columbia
Department of Computer Science
2366 Main Mall
ICICS Building, Office 341
Vancouver, BC V6T 1Z4
Canada

achreto [at] cs.ubc.ca
+1 604 827 2446