Srini Devadas: Time Traveling Hardware and Software Systems