Implementing SMT Solver
In order to integrate a new SMT solver into the ESBMC backend, we would need to follow these steps:
- Copy and paste this directory:
https://github.com/esbmc/esbmc/tree/master/src/solvers/z3
Replace everything with “z3” by “NewSolver”.
Replace the calls to the Z3 SMT solver methods with those from your
NewSolverin https://github.com/esbmc/esbmc/tree/master/src/solvers/z3.Update https://github.com/esbmc/esbmc/blob/master/src/solvers/z3/CMakeLists.txt.
Update https://github.com/esbmc/esbmc/blob/master/src/solvers/CMakeLists.txt#L24 https://github.com/esbmc/esbmc/blob/master/src/solvers/solve.cpp#L10 https://github.com/esbmc/esbmc/blob/master/src/solvers/solve.cpp#L40
Update https://github.com/esbmc/esbmc/blob/master/BUILDING.md