SymDIVINE: Tool for Control-Explicit Data-Symbolic State Space Exploration [chapter]

Jan Mrázek, Petr Bauch, Henrich Lauko, Jiří Barnat
2016 Lecture Notes in Computer Science  
We present SymDIVINE: a tool for bit-precise model checking of parallel C and C++ programs. It builds upon LLVM compiler infrastructure, hence, it uses LLVM IR as an input formalism. Internally, Sym-DIVINE extends the standard explicit-state state space exploration with SMT machinery to handle non-deterministic data values. As such, Sym-DIVINE is on a halfway between a symbolic executor and an explicit-state model checker. The key differentiating aspect present in SymDIVINE is the ability to
more » ... ide about equality of two symbolically represented states preventing thus repeated exploration of the state space graph. This is crucially important in particular for verification of parallel programs where the state space graph is full of diamond-shaped subgraphs.
doi:10.1007/978-3-319-32582-8_14 fatcat:q7j2iiz2r5dylevwpngpsrtffi