2013 · 20 citations · 19 references
Distributed File SystemEngineeringInformation SecurityVerificationComputer ArchitectureInformation ForensicsSoftware AnalysisFormal VerificationHardware SecurityData IntegrityParallel File SystemVerified File SystemsRuntime VerificationData VerificationFile SystemsComputer EngineeringComputer ScienceFunctional CorrectnessData SecuritySoftware VerificationVerified CorrectnessProgram AnalysisFormal MethodsFile SystemSystem SoftwareIntegrity Verification
File systems are critical yet buggy, and existing verification methods are too costly, making verification impractical. This paper proposes to make verified correctness attainable for a high‑performance flash file system, BilbyFs, at reasonable cost. BilbyFs is modular, defined through domain‑specific languages that generate both a design‑level specification and an optimized C implementation, with an automatically generated proof linking them. These features dramatically reduce verification effort, making verified file systems achievable for the first time.
File systems are too important, and current ones are too buggy, to remain unverified. Yet the most successful verification methods for functional correctness remain too expensive for current file system implementations --- we need verified correctness but at reasonable cost. This paper presents our vision and ongoing work to achieve this goal for a new high-performance flash file system, called BilbyFs. BilbyFs is carefully designed to be highly modular, so it can be verified against a high-level functional specification one component at a time. This modular implementation is captured in a set of domain specific languages from which we produce the design-level specification, as well as its optimised C implementation. Importantly, we also automatically generate the proof linking these two artefacts. The combination of these features dramatically reduces verification effort. Verified file systems are now within reach for the first time.
19
Gerwin Klein, Kevin Elphinstone, Gernot Heiser et al. · 2009 · 1.5K citations
Engineering, Hardware Verification Language, Verification +18
Formal verification of a realistic compiler
Xavier Leroy · Communications of the ACM · 2009 · 1.1K citations · Full text
A few billion lines of code later
Al Bessey, Ken Block, Ben Chelf et al. · Communications of the ACM · 2010 · 612 citations
Linear Types can Change the World
Philip Wadler · 1990 · 387 citations