Hardware-Assisted Processor Tracing for Automated Bug Finding and Exploit Prevention