--- /dev/null
+<?xml version="1.0"?> <!-- -*- sgml -*- -->
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+
+
+<chapter id="new-tech-docs"
+ xreflabel="The design and implementation of Valgrind">
+
+<title>The Design and Implementation of Valgrind</title>
+
+
+<para>A number of academic publications nicely describe many aspects
+of Valgrind's design and implementation. Online copies of all of
+them, and others, are available at
+http://valgrind.org/docs/pubs.html.</para>
+
+<para>A good top-level overview of Valgrind is given in:</para>
+
+<para>
+"Valgrind: A Framework for Heavyweight Dynamic Binary
+Instrumentation." Nicholas Nethercote and Julian Seward. Proceedings
+of ACM SIGPLAN 2007 Conference on Programming Language Design and
+Implementation (PLDI 2007), San Diego, California, USA, June 2007.
+This paper describes how Valgrind works, and how it differs from other
+DBI frameworks such as Pin and DynamoRIO.</para>
+
+
+<para>The following two papers together give a comprehensive
+description of how Memcheck works:</para>
+
+<para>"Using Valgrind to detect undefined value errors with
+bit-precision." Julian Seward and Nicholas Nethercote. Proceedings
+of the USENIX'05 Annual Technical Conference, Anaheim, California,
+USA, April 2005. This paper describes in detail how Memcheck's
+undefined value error detection (a.k.a. V bits) works.</para>
+
+<para>"How to Shadow Every Byte of Memory Used by a Program."
+Nicholas Nethercote and Julian Seward. Proceedings of the Third
+International ACM SIGPLAN/SIGOPS Conference on Virtual Execution
+Environments (VEE 2007), San Diego, California, USA, June 2007. This
+paper describes in detail how Memcheck's shadow memory is implemented,
+and compares it to other alternative approaches.</para>
+
+
+<para>The following paper describes Callgrind:</para>
+
+<para>"A Tool Suite for Simulation Based Analysis of Memory Access
+Behavior." Josef Weidendorfer, Markus Kowarschik and Carsten
+Trinitis. Proceedings of the 4th International Conference on
+Computational Science (ICCS 2004), Krakow, Poland, June 2004. This
+paper describes Callgrind.</para>
+
+<para>The following dissertation describes Valgrind in some detail
+(some of these details are now out-of-date) as well as Cachegrind,
+Annelid and Redux. It also covers some underlying theory about
+dynamic binary analysis in general and what all these tools have in
+common:</para>
+
+<para>"Dynamic Binary Analysis and Instrumentation." Nicholas
+Nethercote. PhD Dissertation, University of Cambridge, November
+2004.</para>
+
+
+</chapter>