|
From: Bart V. A. <bar...@gm...> - 2006-08-12 09:53:55
|
Yes, the algorithm used in DRD recognizes user-built synchronization constructs (as long as these are implemented via POSIX thread synchronization function calls). And it doesn't report false positives -- another known problem of the Eraser algorithm. On 8/12/06, Nicholas Nethercote <nj...@cs...> wrote: > > On Sat, 12 Aug 2006, Bart Van Assche wrote: > > > For who is interested in data-race detection, the conclusion of > Muhlenfeld's > > paper points out a fundamental limitation of Helgrind and other tools > based > > on the Eraser algorithm: these tools do not recognize user-built > > synchronization constructs. E.g. in many applications reader-writer > locks > > are implemented as a mutex + counter instead of calling the > > pthread_rwlock_...() functions. > > > >> From the conclusion: > > Further improvements could have a similar impact on the detection > > abilities of the data race checker, but require more effort. > > The weaknesses with regard to common multi-threading > > patterns should be addressed. Common concurrent patterns > > often rely on higher level constructs for synchronization that > > the lock-set algorithm is unaware of. > > Does the algorithm used by drd fix these problems? > |