Title
Cogent: verifying high-assurance file system implementations
Abstract
We present an approach to writing and formally verifying high-assurance file-system code in a restricted language called Cogent, supported by a certifying compiler that produces C code, high-level specification of Cogent, and translation correctness proofs. The language is strongly typed and guarantees absence of a number of common file system implementation errors. We show how verification effort is drastically reduced for proving higher-level properties of the file system implementation by reasoning about the generated formal specification rather than its low-level C code. We use the framework to write two Linux file systems, and compare their performance with their native C implementations.
Year
DOI
Venue
2016
10.1145/2980024.2872404
Architectural Support for Programming Languages and Operating Systems
Keywords
Field
DocType
co-generation,domain-specific languages,file systems,isabelle/hol,verification
Domain-specific language,File system,Programming language,Correctness proofs,Computer science,Parallel computing,Implementation,Compiler,Formal specification,Class implementation file,High assurance
Conference
Volume
Issue
ISSN
44
2
0163-5964
Citations 
PageRank 
References 
19
0.74
29
Authors
15
Name
Order
Citations
PageRank
Sidney Amani1675.00
Alex Hixon2190.74
Zilin Chen3190.74
Christine Rizkallah47514.05
Peter Chubb51073.81
Liam O'Connor6445.02
Joel Beeren7190.74
Yutaka Nagashima8190.74
Japheth Lim9402.95
Thomas Sewell1091437.60
Joseph Tuong11190.74
Gabriele Keller1265736.02
Toby Murray1324217.03
Gerwin Klein14145087.47
Gernot Heiser152525137.42