We present the most interesting elements of the correctness specification of BilbyFs, a performant Linux flash file system. The BilbyFs specification supports asynchronous writes, a feature that has been overlooked by several file system verification projects, and has been used to verify the correctness of BilbyFs's fsync() C implementation. It makes use of nondeterminism to be concise and is shallowly-embedded in higher-order logic.
Cite
@article{arxiv.1511.04169,
title = {Specifying a Realistic File System},
author = {Sidney Amani and Toby Murray},
journal= {arXiv preprint arXiv:1511.04169},
year = {2015}
}