CertiKOS公司

CertiKOS:一种可扩展的体系结构,用于构建经过认证的并发操作系统内核。非平凡并发操作系统内核的完全形式化验证被广泛认为是一个巨大的挑战。我们提出了一种新的构建认证并发操作系统内核的方法。并发允许在不同抽象层上交叉执行内核/用户模块。每个这样的层可以有一组不同的可观察事件。我们坚持正式指定这些层及其可观察事件,然后在适当的抽象级别验证每个内核模块。为了支持与其他cpu或线程的认证链接,我们证明了每个内核函数都有一个强的上下文精化属性,该属性声明每个这样的函数的实现在任何内核/用户上下文下的行为都将类似于其规范,且具有任何有效的交错。我们成功地开发了一个实用的并发操作系统内核,并在Coq中验证了其上下文功能的正确性。我们的认证内核是用6500行C和x86汇编编写的,运行在x86多核机器上。据我们所知,这是一个完整的、通用的、带有细粒度锁的并发操作系统内核功能正确性的第一个证明。