DiVM: Model Checking with LLVM and Graph Memory

Abstract

In this paper, we introduce the concept of a virtual machine with graphorganised memory as a versatile backend for both explicit-state and abstractiondriven verification of software. Our virtual machine uses the LLVM IR as its instruction set, enriched with a small set of hypercalls. We show that the provided hypercalls are sufficient to implement a small operating system, which can then be linked with applications to provide a POSIX-compatible verification environment. Finally, we demonstrate the viability of the approach through a comparison with a more traditionally-designed LLVM model checker.

7 Figures and Tables

Cite this paper

@article{Rockai2017DiVMMC, title={DiVM: Model Checking with LLVM and Graph Memory}, author={Petr Rockai and Ivana Cern{\'a} and Jiri Barnat}, journal={CoRR}, year={2017}, volume={abs/1703.05341} }