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

Prof. Reto Achermann
I01: Chair of Distributed Systems and Operating Systems (aka Systems Research Group)
1st Floor, 7th Finger
School of Computation, Information, and Technology (CIT)
Technical University of Munich (TUM)
Boltzmannstr. 3
85748 Garching bei München
Germany

firstname.lastname [at] cit.tum.de