Today – more than ever – complex software architectures, configurations and the implications of parallel software running on multi-core hardware call for a new methodology to make sure that software is of high-quality and does what it is was designed for.
By using a formal approach and going beyond regular software testing the verification team at the European Microsoft Innovation Center (EMIC), Aachen, Germany are enhancing software verification methods and tools
and applying them to analyze 50,000 lines of code in a real life scenario of a market-ready product. This approach is what makes the project unique.
Thomas Santen and Stephan Tobies from EMIC explain what formal software verification is about and how it can help to build reliable systems. The technology they explain is being developed jointly at EMIC and Microsoft’s Research in Software Engineering group (RiSE) in Redmond. Their tool VCC verifies concurrent, low-level C code that is annotated by contracts specifying its intended behavior.
Thomas and Stephan work in the hypervisor verification project Verisoft, which is a collaboration of EMIC, RiSE, along with Wolfgang Paul, professor for computer architecture at the Saarland University in Saarbrücken, Germany. The aim of this project is to verify the hypervisor kernel of Microsoft Hyper-V, Microsoft’s virtualization product. The hypervisor kernel is a small multi-processor operating system micro kernel with memory and thread management but without device drivers. The implementation of this kernel consists of roughly 60 thousand lines of highly optimized C and x64 assembler code.
For further information, please contact Thomas Santen (Thomas.Santen-at-microsoft.com) or Stephan Tobies (Stephan.Tobies-at-microsoft.com).