Conference Proceedings

CoGENT: Verifying High-Assurance File System Implementations.

S Amani, A Hixon, Z Chen, C Rizkallah, P Chubb, L O'Connor, J Beeren, Y Nagashima, J Lim, T Sewell, J Tuong, G Keller, TC Murray, G Klein, G Heiser

ACM Sigplan Notices | ACM | Published : 2016

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 implementation..

View full abstract

University of Melbourne Researchers