Push-Button Verification of File Systems via Crash Refinement
Push-Button Verification of File Systems via Crash Refinement
复制标题
通过崩溃优化对文件系统进行一键式验证
DOI:
--
复制
发表时间:
2016
期刊:
影响因子:
--
通讯作者:
L. Cranor
中科院分区:
文献类型:
--
作者:
Helgi Sigurbjarnarson;James Bornholt;Nicolas Christin;L. Cranor
The file system is an essential operating system component for persisting data on storage devices. Writing bug-free file systems is non-trivial, as they must correctly implement and maintain complex on-disk data structures even in the presence of system crashes and reorderings of disk operations.
This paper presents Yggdrasil, a toolkit for writing file systems with push-button verification: Yggdrasil requires no manual annotations or proofs about the implementation code, and it produces a counterexample if there is a bug. Yggdrasil achieves this automation through a novel definition of file system correctness called crash refinement, which requires the set of possible disk states produced by an implementation (including states produced by crashes) to be a subset of those allowed by the specification. Crash refinement is amenable to fully automated satisfiability modulo theories (SMT) reasoning, and enables developers to implement file systems in a modular way for verification.
With Yggdrasil, we have implemented and verified the Yxv6 journaling file system, the Ycp file copy utility, and the Ylog persistent log. Our experience shows that the ease of proof and counterexample-based debugging support make Yggdrasil practical for building reliable storage applications.
DOI:
10.1007/978-3-319-29613-5_5
发表时间:
2015
期刊:
影响因子:
--
作者:
G. Ernst;J. Pfähler;G. Schellhorn;W. Reif
通讯作者:
W. Reif
DOI:
10.1145/2815400.2815411
发表时间:
2015-10
期刊:
Proceedings of the 25th Symposium on Operating Systems Principles
影响因子:
--
作者:
T. Ridge;David Sheets;T. Tuerk;A. Giugliano;Anil Madhavapeddy;Peter Sewell
通讯作者:
T. Ridge;David Sheets;T. Tuerk;A. Giugliano;Anil Madhavapeddy;Peter Sewell