Extending DIVINE with Symbolic Verification Using SMT
Abstract
DIVINE is an LLVM-based verification tool focusing on 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 representation of input data.
- Authors: Henrich Lauko, Jiří Barnát, Vladimír Štill, and Petr Ročkai
- Conference: Tools and Algorithms for the Construction and Analysis of Systems
- Paper details: Page with PDF
- Reference to the local database of the institution
- ResearchGate
Citation
LAUKO, Henrich, Vladimír ŠTILL, Petr ROČKAI and Jiří BARNAT. Extending DIVINE with Symbolic Verification Using SMT. In Beyer, Dirkand Huisman, Mariekeand Kordon, Fabriceand Steffen, Bernhard. Tools and Algorithms for the Construction and Analysis of Systems. Cham: Springer International Publishing, 2019. p. 204-208, 5 pp. ISBN 978-3-030-17501-6. doi:10.1007/978-3-030-17502-3_14.