An execution-backtracking approach to debugging | Synapse