|
From: Nicholas N. <nj...@ca...> - 2002-10-07 10:10:37
|
On 6 Oct 2002, Jeremy Fitzhardinge wrote: > Can go into a few more details about what's wrong with helgrind? Does > it get the Eraser algorithm wrong, or does it just need some more > refinement? > > I read the Eraser paper and the extension suggested in "Visual Threads", > and it all looks pretty straightforward. Once I get some profiling > machinery going, I'm definitely interested in working on helgrind. That would be really good. It's been a while since I looked at it. My first attempt at the lockset stuff was very simple and probably wasn't going to scale at all well, but then Julian improved the lockset stuff a bit (a lot?) so that might not be such a problem yet. I think the problem is more that I never tried it on any program larger than about 20 lines. It could find easy data races in these short programs. But it also reported quite a few races in glibc. One of these we found to be genuine (an unsafe update of a totally trivial statistics counter only printed for debugging), but for the others it was unclear whether they were genuine or if Helgrind was wrong. I certainly tried to implement the Eraser algorithm faithfully. So to summarise: it probably needs to be robustified to handle large programs, and it hasn't been verified as to whether it's finding real races yet. N |