Chapter

Logic for Programming, Artificial Intelligence, and Reasoning

Volume 3835 of the series Lecture Notes in Computer Science pp 474-488

A Unified Memory Model for Pointers

  • Harvey TuchAffiliated withNational ICT Australia, Sydney, Australia, School of Computer Science and Engineering, UNSW
  • , Gerwin KleinAffiliated withNational ICT Australia, Sydney, Australia, School of Computer Science and Engineering, UNSW

* Final gross prices may vary according to local VAT.

Get Access

Abstract

One of the challenges in verifying systems level code is the low-level, untyped view of the machine state that operating systems have. We describe a way to faithfully formalise this view while at the same time providing an easy-to-use, abstract and typed view of memory where possible. We have used this formal memory model to verify parts of the virtual memory subsystem of the L4 high-performance microkernel. All formalisations and proofs have been carried out in the theorem prover Isabelle and the verified code has been integrated into the current implementation of L4.