Verifying concurrent, crash-safe systems with perennial

53Citations
Citations of this article
50Readers
Mendeley users who have this article in their library.

Abstract

This paper introduces Perennial, a framework for verifying concurrent, crash-safe systems. Perennial extends the Iris concurrency framework with three techniques to enable crash-safety reasoning: recovery leases, recovery helping, and versioned memory. To ease development and deployment of applications, Perennial provides Goose, a subset of Go and a translator from that subset to a model in Perennial with support for reasoning about Go threads, data structures, and file-system primitives. We implemented and verified a crash-safe, concurrent mail server using Perennial and Goose that achieves speedup on multiple cores. Both Perennial and Iris use the Coq proof assistant, and the mail server and the framework’s proofs are machine checked.

Cite

CITATION STYLE

APA

Chajed, T., Tassarotti, J., Kaashoek, M. F., & Zeldovich, N. (2019). Verifying concurrent, crash-safe systems with perennial. In SOSP 2019 - Proceedings of the 27th ACM Symposium on Operating Systems Principles (pp. 243–258). Association for Computing Machinery, Inc. https://doi.org/10.1145/3341301.3359632

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free