Cloud hypervisors are critical software whose formal verification can increase our confidence in the reliability and security of the cloud. This work presents a case study on formal verification of the virtual memory system of the cloud hypervisor Anaxagoros, a microkernel designed for resource isolation and protection. The code under verification is specified and proven in the Frama-C software verification framework, mostly using automatic theorem proving. The remaining properties are interactively proven with the Coq proof assistant. We describe in detail selected aspects of the case study, including parallel execution and counting references to pages, and discuss some lessons learned, benefits and limitations of our approach.
Proc. of the 20th International Workshop on Formal Methods for Industrial Critical Systems (FMICS 2015).
Oslo, Norway, June 2015, pages 15-30.
Final publication available at http://link.springer.com. DOI: 10.1007/978-3-319-19458-5_2.