Publication details

Extending DIVINE with Symbolic Verification Using SMT


LAUKO Henrich ŠTILL Vladimír ROČKAI Petr BARNAT Jiří

Year of publication 2019
Type Article in Proceedings
Conference Tools and Algorithms for the Construction and Analysis of Systems
MU Faculty or unit

Faculty of Informatics

Keywords Symbolic Computation; Abstraction; DIVINE; LLVM; Transformation; Verification; Model Checking; C; C++
Description DIVINE is an LLVM-based verification tool focusing on the analysis of real-world C and C++ programs. Such programs often interact with their environment, for example via inputs from users or network. When these programs are analyzed, it is desirable that the verification tool can deal with inputs symbolically and analyze runs for all inputs. In DIVINE, it is now possible to deal with input data via symbolic computation instrumented into the original program at the level of LLVM bitcode. Such an instrumented program maintains symbolic values internally and operates directly on them. Instrumentation allows us to enhance the tool with support for symbolic data without substantial modifications of the tool itself. Namely, this competition contribution uses SMT formulae for the representation of input data.
Related projects: