Scaling Up DPLL(T) String Solvers Using Context-Dependent Simplification
Jul 22, 2017
Summary
This post introduces a novel context-dependent simplification technique for DPLL(T) string solvers. This technique significantly improves the scalability of string solvers on challenging constraints derived from real-world security and verification applications. An implementation in the SMT solver CVC4 demonstrates superior performance compared to state-of-the-art string solvers on benchmarks generated by PyEx, a symbolic execution engine for Python programs. The evaluation shows a substantial reduction in runtime and comparable program coverage.