SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Running the manual: an approach to high-assurance microkernel development
Proceedings of the 2006 ACM SIGPLAN workshop on Haskell
Types, bytes, and separation logic
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
HOTOS'05 Proceedings of the 10th conference on Hot Topics in Operating Systems - Volume 10
Towards a practical, verified kernel
HOTOS'07 Proceedings of the 11th USENIX workshop on Hot topics in operating systems
Isabelle/HOL: a proof assistant for higher-order logic
Isabelle/HOL: a proof assistant for higher-order logic
seL4: formal verification of an OS kernel
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
Abstract specification and formalization of an operating system kernel in Z
ACM SIGOPS Operating Systems Review
Verification of the Schorr-Waite algorithm - from trees to graphs
LOPSTR'10 Proceedings of the 20th international conference on Logic-based program synthesis and transformation
Characteristic formulae for the verification of imperative programs
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Large-scale formal verification in practice: a process perspective
Proceedings of the 34th International Conference on Software Engineering
Stateless higher-order logic with quantified types
ITP'13 Proceedings of the 4th international conference on Interactive Theorem Proving
Comprehensive formal verification of an OS microkernel
ACM Transactions on Computer Systems (TOCS)
Hi-index | 0.00 |
We report on our experience using Haskell as an executable specification language in the formal verification of the seL4 microkernel. The verification connects an abstract operational specification in the theorem prover Isabelle/HOL to a C implementation of the microkernel. We describe how this project differs from other efforts, and examine the effect of using Haskell in a large-scale formal verification. The kernel comprises 8,700 lines of C code; the verification more than 150,000 lines of proof script.