
Julian Seward was the original founder, designer and author of Valgrind,
created the dynamic translation frameworks, wrote Memcheck and 3.3.X
Helgrind, and did lots of other things.

Nicholas Nethercote did the core/tool generalisation, wrote
Cachegrind and Massif, and tons of other stuff.

Tom Hughes did a vast number of bug fixes, helped out with support for
more recent Linux/glibc versions, set up the present build system, and has
helped out with test and build machines.

Jeremy Fitzhardinge wrote Helgrind (in the 2.X line) and totally
overhauled low-level syscall/signal and address space layout stuff,
among many other things.

Josef Weidendorfer wrote Callgrind and the associated KCachegrind GUI.

Paul Mackerras did a lot of the initial per-architecture factoring
that forms the basis of the 3.0 line and is also to be seen in 2.4.0.
He also did UCode-based dynamic translation support for PowerPC, and
created a set of ppc-linux derivatives of the 2.X release line.

Greg Parker wrote the Mac OS X port.

Dirk Mueller contributed the malloc-free mismatch checking stuff
and other bits and pieces, and acted as our KDE liaison.

Robert Walsh added file descriptor leakage checking, new library
interception machinery, support for client allocation pools, and minor
other tweakage.

Bart Van Assche wrote and maintains DRD.

Cerion Armour-Brown worked on PowerPC instruction set support in
the Vex dynamic-translation framework.

Donna Robinson created and maintains the very excellent
http://www.valgrind.org.

Frederic Gobry helped with autoconf and automake.

Daniel Berlin modified readelf's dwarf2 source line reader, written by Nick
Clifton, for use in Valgrind.o

Michael Matz and Simon Hausmann modified the GNU binutils demangler(s) for
use in Valgrind.

David Woodhouse has helped out with test and build machines over the course
of many releases.

Many, many people sent bug reports, patches, and helpful feedback.

Development of Valgrind was supported in part by the Tri-Lab Partners
(Lawrence Livermore National Laboratory, Los Alamos National
Laboratory, and Sandia National Laboratories) of the U.S. Department
of Energy's Advanced Simulation & Computing (ASC) Program.
