COGENT: Verifying High-Assurance File System Implementations

被引:49
作者
Amani, Sidney [1 ]
Hixon, Alex
Chen, Zilin
Rizkallah, Christine
Chubb, Peter
O'Connor, Liam
Beeren, Joel
Nagashima, Yutaka
Lim, Japheth
Sewell, Thomas
Tuong, Joseph
Keller, Gabriele
Murray, Toby
Klein, Gerwin
Heiser, Gernot
机构
[1] Data61, Sydney, NSW, Australia
基金
澳大利亚研究理事会;
关键词
file systems; verification; domain-specific languages; co-generation; Isabelle/HOL; VERIFICATION; SPECIFICATION;
D O I
10.1145/2954679.2872404
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:175 / 188
页数:14
相关论文
共 46 条
[1]  
Alkassar E, 2010, LECT NOTES COMPUT SC, V6217, P71, DOI 10.1007/978-3-642-15057-9_5
[2]  
Alkassar E, 2009, J AUTOM REASONING, V42, P389, DOI [10.1007/s10817-009-9123-Z, 10.1007/s10817-009-9123-z]
[3]  
AMANI S, 2015, WORKSH MOD FORM AN R, P1
[4]  
Andronick J., 2006, 2 INT S LEV APPL FOR, P129
[5]  
[Anonymous], 2014, 11 USENIX S OP SYST
[6]  
[Anonymous], P 17 ANN IEEE S LOG
[7]  
[Anonymous], 1997, TR3022 NETAPP
[8]  
[Anonymous], 1990, PROGRAMMING CONCEPTS
[9]  
[Anonymous], 1995, 120 COMP LOG INC
[10]  
Arkoudas K, 2004, LECT NOTES COMPUT SC, V3308, P373