The Z notation: a reference manual
The Z notation: a reference manual
Introduction to HOL: a theorem proving environment for higher order logic
Introduction to HOL: a theorem proving environment for higher order logic
Using Z: specification, refinement, and proof
Using Z: specification, refinement, and proof
Abstract State Machines: A Method for High-Level System Design and Analysis
Abstract State Machines: A Method for High-Level System Design and Analysis
Algorithms and data structures for flash memories
ACM Computing Surveys (CSUR)
The verified software repository: a step towards the verifying compiler
Formal Aspects of Computing
Software Abstractions: Logic, Language, and Analysis
Software Abstractions: Logic, Language, and Analysis
Randomized Differential Testing as a Prelude to Formal Verification
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Using model checking to find serious file system errors
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
POSIX file store in Z/Eves: an experiment in the verified software repository
ICECCS '07 Proceedings of the 12th IEEE International Conference on Engineering Complex Computer Systems
Formalising Flash Memory: First Steps
ICECCS '07 Proceedings of the 12th IEEE International Conference on Engineering Complex Computer Systems
POSIX and the Verification Grand Challenge: A Roadmap
ICECCS '08 Proceedings of the 13th IEEE International Conference on on Engineering of Complex Computer Systems
Finding Minimal Unsatisfiable Cores of Declarative Specifications
FM '08 Proceedings of the 15th international symposium on Formal Methods
Kodkod: a relational model finder
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
A decision procedure for bit-vectors and arrays
CAV'07 Proceedings of the 19th international conference on Computer aided verification
Modelling and Proof of a Tree-Structured File System in Event-B and Rodin
ICFEM '08 Proceedings of the 10th International Conference on Formal Methods and Software Engineering
Abstract Specification of the UBIFS File System for Flash Memory
FM '09 Proceedings of the 2nd World Congress on Formal Methods
RAFFS: Model Checking a Robust Abstract Flash File Store
ICFEM '09 Proceedings of the 11th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
Scalable distributed concolic testing: a case study on a flash storage platform
ICTAC'10 Proceedings of the 7th International colloquium conference on Theoretical aspects of computing
ICTAC'10 Proceedings of the 7th International colloquium conference on Theoretical aspects of computing
Modelling flash devices with FDR: progress and limits
Proceedings of the 8th International Conference on Frontiers of Information Technology
Proceedings of the 8th International Conference on Frontiers of Information Technology
Relational reasoning via SMT solving
FM'11 Proceedings of the 17th international conference on Formal methods
An imperative extension to alloy
ABZ'10 Proceedings of the Second international conference on Abstract State Machines, Alloy, B and Z
ABZ'10 Proceedings of the Second international conference on Abstract State Machines, Alloy, B and Z
Symbolic bounded conformance checking of model programs
PSI'09 Proceedings of the 7th international Andrei Ershov Memorial conference on Perspectives of Systems Informatics
Preventing arithmetic overflows in alloy
ABZ'12 Proceedings of the Third international conference on Abstract State Machines, Alloy, B, VDM, and Z
Encapsulating deontic and branching time specifications
Theoretical Computer Science
Hi-index | 0.00 |
This paper describes the formal modeling and analysis of a design for a flash-based filesystem in Alloy. We model the basic operations of a filesystem as well as features that are crucial to NAND flash hardware, such as wear-leveling and erase-unit reclamation. In addition, we address the issue of fault tolerance by modeling a mechanism for recovery from interrupted filesystem operations due to unexpected power loss. We analyze the correctness of our flash filesystem model by checking trace inclusion against a POSIX-compliant abstract filesystem, in which a file is modeled simply as an array of data elements. The analysis is fully automatic and complete within a finite scope.