Testing error handling code in device drivers using characteristic fault injection
S2E: a platform for in-vivo multi-path analysis of software systems