<?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"
[ <!ENTITY % vg-entities SYSTEM "../../docs/xml/vg-entities.xml"> %vg-entities; ]>


<chapter id="design-impl"
         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 on the <ulink url="&vg-pubs-url;">Valgrind
publications page</ulink>.</para>

<para>The following paper gives a good overview of Valgrind, and explains
how it differs from other dynamic binary instrumentation frameworks such as
Pin and DynamoRIO.</para>

<itemizedlist>
  <listitem>
    <para>
    <command>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.</command>
    </para>
  </listitem>
</itemizedlist>


<para>The following two papers together give a comprehensive description of
how most of Memcheck works.  The first paper describes in detail how
Memcheck's undefined value error detection (a.k.a. V bits) works.  The
second paper describes in detail how Memcheck's shadow memory is
implemented, and compares it to other alternative approaches.
</para>

<itemizedlist>
  <listitem>
    <para><command>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.</command>  
    </para>

    <para><command>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.</command>
    </para>
  </listitem>
</itemizedlist>


<para>The following paper describes Callgrind.</para>

<itemizedlist>
  <listitem>
    <para><command>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.</command>
    </para>
  </listitem>
</itemizedlist>

<para>The following dissertation describes Valgrind in some detail
(many 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>

<itemizedlist>
  <listitem>
    <para><command>Dynamic Binary Analysis and Instrumentation.  Nicholas
    Nethercote.</command>  PhD Dissertation, University of Cambridge, November
    2004.</para>
  </listitem>
</itemizedlist>


</chapter>
