Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. MIT Open Access Articles
  3. MIT Open Access Articles
  4. Using Crash Hoare logic for certifying the FSCQ file system

Using Crash Hoare logic for certifying the FSCQ file system

Thumbnail Image
Download
Name

fscq_sosp15.pdf

Description
Accepted version
Size

302.93 KB

Format

Adobe PDF

Checksum (MD5)

d4ddcdcbd655e399e87a1579d498d240

sword-2019-05-13T17:23:33.original.xml (130 B)
Original SWORD entry document
Author(s)
Chen, Haogang
•
Ziegler, Daniel
•
Chajed, Tej
•
Chlipala, Adam
•
Kaashoek, M. Frans
•
Zeldovich, Nickolai
Date Issued
October 4, 2015
Publisher
Association for Computing Machinery (ACM)
Citation
Chen, Haogang, Ziegler, Daniel, Chajed, Tej, Chlipala, Adam, Kaashoek, M. Frans et al. 2015. "Using Crash Hoare logic for certifying the FSCQ file system."
Version
Author's final manuscript
Abstract
FSCQ is the first file system with a machine-checkable proof (using the Coq proof assistant) that its implementation meets its specification and whose specification includes crashes. FSCQ provably avoids bugs that have plagued previous file systems, such as performing disk writes without sufficient barriers or forgetting to zero out directory blocks. If a crash happens at an inopportune time, these bugs can lead to data loss. FSCQ's theorems prove that, under any sequence of crashes followed by reboots, FSCQ will recover the file system correctly without losing data. To state FSCQ's theorems, this paper introduces the Crash Hoare logic (CHL), which extends traditional Hoare logic with a crash condition, a recovery procedure, and logical address spaces for specifying disk states at different abstraction levels. CHL also reduces the proof effort for developers through proof automation. Using CHL, we developed, specified, and proved the correctness of the FSCQ file system. Although FSCQ's design is relatively simple, experiments with FSCQ running as a user-level file system show that it is sufficient to run Unix applications with usable performance. FSCQ's specifications and proofs required significantly more work than the implementation, but the work was manageable even for a small team of a few researchers.
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Terms of Use
Creative Commons Attribution-Noncommercial-Share Alike
http://creativecommons.org/licenses/by-nc-sa/4.0/
Persistent DSpace Link
https://hdl.handle.net/1721.1/137412
DOI of Published Version
https://doi.org/10.1145/2815400.2815402
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.