Symbiotic 8: Beyond Symbolic Execution
Authors | |
---|---|
Year of publication | 2021 |
Type | Article in Proceedings |
Conference | Tools and Algorithms for the Construction and Analysis of Systems - 27th International Conference, TACAS 2021, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2021, Luxembourg City, Luxembourg, March 27 - April 1, 2021, Proceedings, Part II |
MU Faculty or unit | |
Citation | |
Web | https://link.springer.com/chapter/10.1007%2F978-3-030-72013-1_31 |
Doi | http://dx.doi.org/10.1007/978-3-030-72013-1_31 |
Keywords | symbolic execution;k-induction;program slicing;symbiotic;predator;klee |
Description | Symbiotic 8 extends the traditional combination of static analyses, instrumentation, program slicing, and symbolic execution with one substantial novelty, namely a technique mixing symbolic execution with k-induction. This technique can prove the correctness of programs with possibly unbounded loops, which cannot be done by classic symbolic execution. Symbiotic 8 delivers also several other improvements. In particular, we have modified our fork of the symbolic executor Klee to support the comparison of symbolic pointers. Further, we have tuned the shape analysis tool Predator (integrated already in Symbiotic 7) to perform better on llvm bitcode. We have also developed a light-weight analysis of relations between variables that can prove the absence of out-of-bound accesses to arrays. |
Related projects: |