  Separation kernels are fundamental software of safety and security-critical
systems, which provide to their hosted applications spatial and temporal
separation as well as controlled information flows among partitions. The
application of separation kernels in critical domain demands the correctness of
the kernel by formal verification. To the best of our knowledge, there is no
survey paper on this topic. This paper presents an overview of formal
specification and verification of separation kernels. We first present the
background including the concept of separation kernel and the comparisons among
different kernels. Then, we survey the state of the art on this topic since
2000. Finally, we summarize research work by detailed comparison and
discussion.
