MIT OpenCourseWarehttp://ocw.mit.edu 6.033 Computer System Engineering Spring 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.Preparation for Recitation 6 Before reading the Eraser paper, refresh your memory on what race conditions are and the troubles that they can cause by revisiting sections 5.2.2, 5.2.3, and 5.2.4 of the class notes. Then, read the Eraser paper, with the following questions in mind: • According to the lockset algorithm, when does eraser signal a data race? Why is this condition chosen? • Under what conditions does Eraser report a false positive? What conditions does it produce false negatives? • Typically, instrumenting a program changes the intra-thread timing (the paper calls it interleaving). This can cause bugs to disappear when you start trying to find them. What aspect of the Eraser design mitigates this problem? • Writing serious multi-threaded code is generally reserved for "wizard" programmers; is Eraser functional enough and easy enough to use that non-wizards could use it to write safe code? Think it would have helped the
View Full Document