The Flashix project is a team effort to develop a functionally correct, crash-safe and concurrent file system for flash memory. The approach is based on encapsulated, modular components and their incremental refinement towards a realistic and executable implementation. Scala and C code is derived from the models. The file system provides strong guarantees in the presence of hardware failures and can tolerate crashes. It also performs internal operations in a concurrent thread of execution. This thesis emerged from this large-scale verification effort and reports on the verification methodology and its practical application to the file system. The first contribution is a modular approach for the specification and verification of crash-aware...
We present the design, implementation, and evaluation of a file system mechanism that protects the i...
FSCQ is the first file system with a machine-checkable proof (using the Coq proof assistant) that it...
Nowadays, many formal methods are used in the area of software development accompanied by a number o...
The Flashix project is a team effort to develop a functionally correct, crash-safe and concurrent fi...
The formal development of large-scale software systems is a complex and time-consuming effort. Gener...
The Flashix project has developed the first realistic verified file system for Flash memory. This pa...
In the Flashix project, a file system for flash memory has been developed. It is proven functionally...
This paper presents formal proof obligations for data refinement in the presence of unexpected crash...
Critical systems software such as the file system is challenging to make correct due to the combinat...
POSIX is a standard for operating systems, with a substantial part devoted to specifying file-system...
Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Comp...
The amount of data generated by scientific applications on high-performance computing systems is gro...
The main contribution of this thesis is a methodology for designing, implementing and verifying real...
The invention of flash memory at Toshiba in 1980 had a great effect on development of computer stora...
Thesis: S.M. in Computer Science, Massachusetts Institute of Technology, Department of Electrical En...
We present the design, implementation, and evaluation of a file system mechanism that protects the i...
FSCQ is the first file system with a machine-checkable proof (using the Coq proof assistant) that it...
Nowadays, many formal methods are used in the area of software development accompanied by a number o...
The Flashix project is a team effort to develop a functionally correct, crash-safe and concurrent fi...
The formal development of large-scale software systems is a complex and time-consuming effort. Gener...
The Flashix project has developed the first realistic verified file system for Flash memory. This pa...
In the Flashix project, a file system for flash memory has been developed. It is proven functionally...
This paper presents formal proof obligations for data refinement in the presence of unexpected crash...
Critical systems software such as the file system is challenging to make correct due to the combinat...
POSIX is a standard for operating systems, with a substantial part devoted to specifying file-system...
Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Comp...
The amount of data generated by scientific applications on high-performance computing systems is gro...
The main contribution of this thesis is a methodology for designing, implementing and verifying real...
The invention of flash memory at Toshiba in 1980 had a great effect on development of computer stora...
Thesis: S.M. in Computer Science, Massachusetts Institute of Technology, Department of Electrical En...
We present the design, implementation, and evaluation of a file system mechanism that protects the i...
FSCQ is the first file system with a machine-checkable proof (using the Coq proof assistant) that it...
Nowadays, many formal methods are used in the area of software development accompanied by a number o...