Extending DIVINE with Symbolic Verification Using SMT

Investor logo

Warning

This publication doesn't include Faculty of Education. It includes Faculty of Informatics. Official publication website can be found on muni.cz.
Authors

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

Citation
web https://doi.org/10.1007/978-3-030-17502-3_14
Doi http://dx.doi.org/10.1007/978-3-030-17502-3_14
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:

You are running an old browser version. We recommend updating your browser to its latest version.