The formal development of large-scale software systems is a complex and time-consuming effort. Generally, its main goal is to prove the functional correctness of the resulting system. This goal becomes significantly harder to reach when the verification must be performed under adverse conditions. When aiming for a realistic system, the implementation must be compatible with the “real world”: it must work with existing system interfaces, cope with uncontrollable events such as power cuts, and offer competitive performance by using mechanisms like caching or concurrency. The Flashix project is an example of such a development, in which a fully verified file system for flash memory has been developed. The project is a long-term team effort an...
Thesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Com...
We present the first comprehensive study of application-level crash-consistency protocols built atop...
POSIX is a standard for operating systems, with a substantial part devoted to specifying file-system...
The Flashix project is a team effort to develop a functionally correct, crash-safe and concurrent fi...
The Flashix project has developed the first realistic verified file system for Flash memory. This pa...
Critical systems software such as the file system is challenging to make correct due to the combinat...
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...
Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Comp...
Thesis: S.M. in Computer Science, Massachusetts Institute of Technology, Department of Electrical En...
Computers have brought us inestimable convenience in recent years. We have become dependent on them ...
FSCQ is the first file system with a machine-checkable proof (using the Coq proof assistant) that it...
The main contribution of this thesis is a methodology for designing, implementing and verifying real...
The progression of multi-core processors has inspired the development of concurrency libraries that ...
Large systems in modern development consist of many concurrent processes. To prove safety properties...
Thesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Com...
We present the first comprehensive study of application-level crash-consistency protocols built atop...
POSIX is a standard for operating systems, with a substantial part devoted to specifying file-system...
The Flashix project is a team effort to develop a functionally correct, crash-safe and concurrent fi...
The Flashix project has developed the first realistic verified file system for Flash memory. This pa...
Critical systems software such as the file system is challenging to make correct due to the combinat...
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...
Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Comp...
Thesis: S.M. in Computer Science, Massachusetts Institute of Technology, Department of Electrical En...
Computers have brought us inestimable convenience in recent years. We have become dependent on them ...
FSCQ is the first file system with a machine-checkable proof (using the Coq proof assistant) that it...
The main contribution of this thesis is a methodology for designing, implementing and verifying real...
The progression of multi-core processors has inspired the development of concurrency libraries that ...
Large systems in modern development consist of many concurrent processes. To prove safety properties...
Thesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Com...
We present the first comprehensive study of application-level crash-consistency protocols built atop...
POSIX is a standard for operating systems, with a substantial part devoted to specifying file-system...