Helgrind is licensed under the GNU General Public License,
version 2
Helgrind is a Valgrind skin for detecting data races in threaded programs.
It uses the Eraser algorithm described in
Eraser: A Dynamic Data Race Detector for Multithreaded ProgramsIt is unfortunately in a rather mangy state and probably doesn't work at all. We include it partly because it may serve as a useful example skin, and partly in case anybody is inspired to improve it and get it working.
Stefan Savage, Michael Burrows, Greg Nelson, Patrick Sobalvarro and Thomas Anderson
ACM Transactions on Computer Systems, 15(4):391-411
November 1997.
If you are inspired, we'd love to hear from you. And if you are successful, you might like to include some improvements to the basic Eraser algorithm described in Section 4.2 of
Runtime Checking of Multithreaded Applications with Visual Threads Jerry J. Harrow, Jr.
Proceedings of the 7th International SPIN Workshop on Model Checking of Software
Stanford, California, USA
August 2000
LNCS 1885, pp331--342
K. Havelund, J. Penix, and W. Visser, editors.