Formal Verification of a Microkernel Used in Dependable Software Systems

  • Authors:
  • Christoph Baumann;Bernhard Beckert;Holger Blasum;Thorsten Bormer

  • Affiliations:
  • Dept. of Computer Science, Saarland University, Saarbrücken, Germany;Dept. of Computer Science, University of Koblenz, Germany;SYSGO AG, Klein-Winternheim, Germany;Dept. of Computer Science, University of Koblenz, Germany

  • Venue:
  • SAFECOMP '09 Proceedings of the 28th International Conference on Computer Safety, Reliability, and Security
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

In recent years, deductive program verification has improved to a degree that makes it feasible for real-world programs. Following this observation, the main goal of the BMBF-supported Verisoft XT project is (a) the creation of methods and tools which allow the pervasive formal verification of integrated computer systems, and (b) the prototypical realization of four concrete, industrial application tasks. In this paper, we report on the Verisoft XT subproject Avionics, where formal verification is being applied to a commercial embedded operating system. The goal is to use deductive techniques to verify functional correctness of the PikeOS system, which is a microkernel-based partitioning hypervisor. We present our approach to verifying the microkernel's system calls, using a system call for changing the priority of threads as an example. In particular, (a) we give an overview of the tool chain and the verification methodology, (b) we explain the hardware model and how assembly semantics is specified so that functions whose implementation contain assembly can be verified, and (c) we describe the verification of the system call itself.