Automated verification of a small hypervisor

  • Authors:
  • Eyad Alkassar;Mark A. Hillebrand;Wolfgang J. Paul;Elena Petrova

  • Affiliations:
  • Saarland University, Computer Science Dept., Saarbrücken, Germany;German Research Center for Artificial Intelligence, Saarbrücken, Germany;Saarland University, Computer Science Dept., Saarbrücken, Germany;Saarland University, Computer Science Dept., Saarbrücken, Germany

  • Venue:
  • VSTTE'10 Proceedings of the Third international conference on Verified software: theories, tools, experiments
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Hypervisors are system software programs that virtualize the architecture they run on. They are typically small, safety-critical, and hard to debug, which makes them a feasible and interesting target for formal verification. Previous functional verifications of system software were all based on interactive theorem proving, requiring substantial human effort complemented by expert prover knowledge. In this paper we present the first functional verification of a small hypervisor using VCC, an automatic verifier for (suitably annotated) C developed at Microsoft. To achieve this goal we introduce necessary system verification techniques, such as accurate modeling of software/hardware interaction and simulation proofs in a first-order logic setting.