Concurrent Breakpoints Chang Seo Park Koushik Sen Electrical Engineering and Computer Sciences University of California at Berkeley Technical Report No. UCB/EECS-2011-159 http://www.eecs.berkeley.edu/Pubs/TechRpts/2011/EECS-2011-159.html December 18, 2011 Copyright © 2011, by the author(s). All rights reserved. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission. Acknowledgement Research supported by Microsoft (Award #024263) and Intel (Award #024894) funding and by matching funding by U.C. Discovery (Award #DIG07-10227), by NSF Grants CCF-101781, CCF-0747390, CCF- 1018729, and CCF-1018730, and by a DoD NDSEG Graduate Fellowship. The last author is supported in part by a Sloan Foundation Fellowship. Additional support comes from Par Lab affiliates National Instruments, Nokia, NVIDIA, Oracle, and Samsung. Concurrent Breakpoints Chang-Seo Park and Koushik Sen EECS Department, UC Berkeley Berkeley, CA 94720, USA fparkcs,
[email protected] Abstract regular testing. Therefore, even if a user reports the input that caused a bug in a concurrent program, the developer In program debugging, reproducibility of bugs is a key re- may not be able to recreate the bug and debug the cause quirement. Unfortunately, bugs in concurrent programs are of the bug. Such non-deterministic bugs in concurrent pro- notoriously difficult to reproduce compared to their sequen- grams are called Heisenbugs.