Daniel Fryer

Software, Systems & Storage



The Recon project explores runtime verification as a way to prevent software or memory errors from corrupting stored data. Recon intercepts block i/o between the filesystem and disk, and ensures that filesystem metadata remains consistent and is updated atomically and durably. In Recon: Verifying File System Consistency at Runtime we outline the approach behind Recon. In Checking the Integrity of Transactional Mechanisms we discuss checking the atomicity and durability properties of a file system using either journaling or shadow paging for crash consistency. In Robust Consistency CHecking for Modern Filesystems we explore implementing the invariants in a higher level language (Datalog) in order to reason about them more effectively.

In addition to Recon itself we have been investigating ways to construct file system tools more reliably and efficiently. By annotating file system data structures, we can generate file system specific code and combine it with application-specific code called a template. Some of our work in this direction was presented at the PLOS workshop in 2013.


site info

© 2016 Daniel Fryer | Template design by Andreas Viklund