Formalising a high-performance microkernel

Authors

Kevin Elphinstone, Gerwin Klein and Rafal Kolanski

    School of Computer Science and Engineering
    University of New South Wales
    Sydney 2052 Australia
    
    NICTA, Sydney, Australia

Abstract

This paper argues that a pragmatic approach is needed for integrating design and formalisation of complex systems. We report on our approach to designing the seL4 operating system microkernel API and its formalisation in Isabelle/HOL. The formalisation consists of the systematic translation of significant parts of the functional programming language Haskell into Isabelle/HOL, including monad-based code. We give an account of the experience, decisions and outcomes in this translation as well as the technical problems we encountered together with our solutions. The longer-term goal is to demonstrate that formalisation and verification of a large, complex, OS-level code base is feasible with current tools and methods and is in the order of magnitude of traditional development cost.

BibTeX Entry

  @inproceedings{Elphinstone_KK_06,
    title            = {Formalising a High-Performance Microkernel},
    series           = {Microsoft Research Technical Report MSR-TR-2006-117},
    booktitle        = {Workshop on Verified Software: Theories, Tools, and Experiments (VSTTE 06)},
    author           = {Kevin Elphinstone and Gerwin Klein and Rafal Kolanski},
    year             = {2006},
    month            = {Aug},
    editor           = {Rustan Leino},
    address          = {Seattle, USA},
    pages            = {1-7}
  }

Download

Served by Apache on Linux on seL4