A generic framework for symbolic execution: A coinductive approach. (May 2017)