Affiliation:
1. Data61 and UNSW, Sydney, Australia
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.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
40 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Pancake;Proceedings of the 12th Workshop on Programming Languages and Operating Systems;2023-10-23
2. The Security War in File Systems: An Empirical Study from A Vulnerability-centric Perspective;ACM Transactions on Storage;2023-10-03
3. Modularity, Code Specialization, and Zero-Cost Abstractions for Program Verification;Proceedings of the ACM on Programming Languages;2023-08-30
4. Beyond isolation: OS verification as a foundation for correct applications;Proceedings of the 19th Workshop on Hot Topics in Operating Systems;2023-06-22
5. Verus: Verifying Rust Programs using Linear Ghost Types;Proceedings of the ACM on Programming Languages;2023-04-06