Helgrind

This manual was last updated on 2002-10-03

njn25@cam.ac.uk
Copyright © 2000-2002 Nicholas Nethercote

Helgrind is licensed under the GNU General Public License, version 2
Helgrind is a Valgrind skin for detecting data races in threaded programs.

1  Helgrind

Helgrind is a Valgrind skin for detecting data races in C and C++ programs that use the Pthreads library.

It uses the Eraser algorithm described in

Eraser: A Dynamic Data Race Detector for Multithreaded Programs
Stefan Savage, Michael Burrows, Greg Nelson, Patrick Sobalvarro and Thomas Anderson
ACM Transactions on Computer Systems, 15(4):391-411
November 1997.
It 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.

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.