Debugging code running on multiprocessor computing systems–and, in particular, parallel code on multicore devices–is an old problem that has achieved new prominence because of the profound ...