Proceedings of the 26th Symposium on Operating Systems Principles 2017
DOI: 10.1145/3132747.3132776
|View full text |Cite
|
Sign up to set email alerts
|

Verifying a high-performance crash-safe file system using a tree specification

Abstract: DFSCQ is the first file system that (1) provides a precise specification for fsync and fdatasync, which allow applications to achieve high performance and crash safety, and (2) provides a machine-checked proof that its implementation meets this specification. DFSCQ's specification captures the behavior of sophisticated optimizations, including logbypass writes, and DFSCQ's proof rules out some of the common bugs in file-system implementations despite the complex optimizations. The key challenge in building DFS… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
36
0

Year Published

2019
2019
2023
2023

Publication Types

Select...
4
3
1

Relationship

1
7

Authors

Journals

citations
Cited by 45 publications
(36 citation statements)
references
References 28 publications
0
36
0
Order By: Relevance
“…Verification has also reached file systems, such as FSCQ (Chen et al, 2015), a file system with guarantees about crash safety that have been verified in Coq, and DFSCQ (Chen et al, 2017), an efficient crashsafe file system with several verified optimizations. Using the Cogent Why Proof Engineering Matters language and its certifying compiler (Section 3.1.1), Amani et al (2016) developed a file system called BilbyFS in Isabelle/HOL with executable code in C; they also implemented and verified the legacy Linux file system ext2.…”
Section: Proof Engineering For Program Verificationmentioning
confidence: 99%
“…Verification has also reached file systems, such as FSCQ (Chen et al, 2015), a file system with guarantees about crash safety that have been verified in Coq, and DFSCQ (Chen et al, 2017), an efficient crashsafe file system with several verified optimizations. Using the Cogent Why Proof Engineering Matters language and its certifying compiler (Section 3.1.1), Amani et al (2016) developed a file system called BilbyFS in Isabelle/HOL with executable code in C; they also implemented and verified the legacy Linux file system ext2.…”
Section: Proof Engineering For Program Verificationmentioning
confidence: 99%
“…There are several existing systems that support reasoning about crashes and recovery, particularly in the context of file-system verification [7,8,11,26,28]. Most have no support for layered recovery, since they consider only a single recovery procedure at a time.…”
Section: Multiple Unreliable Disksmentioning
confidence: 99%
“…To prove recovery refinement within a single layer, Argosy supports a variant of Crash Hoare Logic (CHL), the logic used in the FSCQ verified file system [7,8]. Argosy generalizes FSCQ's CHL by supporting non-deterministic crash behavior, whereas FSCQ modeled only persistent state and assumed it was unaffected by a crash.…”
Section: Multiple Unreliable Disksmentioning
confidence: 99%
See 1 more Smart Citation
“…Thus, given a set of constraints, Ace generates an exhaustive set of workloads, each of which is tested with CrashMonkey on the target file system. B 3 offers a new point in the spectrum of techniques addressing file-system crash consistency, alongside verified file systems [12,13,82] and model checking [94,95]. Unlike these approaches, B 3 targets widely deployed file systems written in low-level languages, and does not require annotating or modifying file-system code.…”
mentioning
confidence: 99%