COGENT: Verifying High-Assurance File System Implementations

被引:48
作者
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