Extending DIVINE with Symbolic Verification Using SMT
Authors | |
---|---|
Year of publication | 2019 |
Type | Article in Proceedings |
Conference | Tools and Algorithms for the Construction and Analysis of Systems |
MU Faculty or unit | |
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: |