~bkerensa/ubuntu/raring/valgrind/merge-from-deb

« back to all changes in this revision

Viewing changes to docs/xml/new-tech-docs.xml

  • Committer: Bazaar Package Importer
  • Author(s): Andrés Roldán
  • Date: 2008-06-13 02:31:40 UTC
  • mto: (1.4.1 upstream) (2.2.1 squeeze)
  • mto: This revision was merged to the branch mainline in revision 24.
  • Revision ID: james.westby@ubuntu.com-20080613023140-iwk33rz9rhvfkr96
Import upstream version 3.3.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0"?> <!-- -*- sgml -*- -->
 
2
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 
3
          "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
 
4
 
 
5
 
 
6
<chapter id="new-tech-docs"
 
7
         xreflabel="The design and implementation of Valgrind">
 
8
 
 
9
<title>The Design and Implementation of Valgrind</title>
 
10
 
 
11
 
 
12
<para>A number of academic publications nicely describe many aspects
 
13
of Valgrind's design and implementation.  Online copies of all of
 
14
them, and others, are available at
 
15
http://valgrind.org/docs/pubs.html.</para>
 
16
 
 
17
<para>A good top-level overview of Valgrind is given in:</para>
 
18
 
 
19
<para>
 
20
"Valgrind: A Framework for Heavyweight Dynamic Binary
 
21
Instrumentation."  Nicholas Nethercote and Julian Seward.  Proceedings
 
22
of ACM SIGPLAN 2007 Conference on Programming Language Design and
 
23
Implementation (PLDI 2007), San Diego, California, USA, June 2007.
 
24
This paper describes how Valgrind works, and how it differs from other
 
25
DBI frameworks such as Pin and DynamoRIO.</para>
 
26
 
 
27
 
 
28
<para>The following two papers together give a comprehensive
 
29
description of how Memcheck works:</para>
 
30
 
 
31
<para>"Using Valgrind to detect undefined value errors with
 
32
bit-precision."  Julian Seward and Nicholas Nethercote.  Proceedings
 
33
of the USENIX'05 Annual Technical Conference, Anaheim, California,
 
34
USA, April 2005.  This paper describes in detail how Memcheck's
 
35
undefined value error detection (a.k.a. V bits) works.</para>
 
36
 
 
37
<para>"How to Shadow Every Byte of Memory Used by a Program."
 
38
Nicholas Nethercote and Julian Seward.  Proceedings of the Third
 
39
International ACM SIGPLAN/SIGOPS Conference on Virtual Execution
 
40
Environments (VEE 2007), San Diego, California, USA, June 2007.  This
 
41
paper describes in detail how Memcheck's shadow memory is implemented,
 
42
and compares it to other alternative approaches.</para>
 
43
 
 
44
 
 
45
<para>The following paper describes Callgrind:</para>
 
46
 
 
47
<para>"A Tool Suite for Simulation Based Analysis of Memory Access
 
48
Behavior."  Josef Weidendorfer, Markus Kowarschik and Carsten
 
49
Trinitis.  Proceedings of the 4th International Conference on
 
50
Computational Science (ICCS 2004), Krakow, Poland, June 2004.  This
 
51
paper describes Callgrind.</para>
 
52
 
 
53
<para>The following dissertation describes Valgrind in some detail
 
54
(some of these details are now out-of-date) as well as Cachegrind,
 
55
Annelid and Redux.  It also covers some underlying theory about
 
56
dynamic binary analysis in general and what all these tools have in
 
57
common:</para>
 
58
 
 
59
<para>"Dynamic Binary Analysis and Instrumentation."  Nicholas
 
60
Nethercote.  PhD Dissertation, University of Cambridge, November
 
61
2004.</para>
 
62
 
 
63
 
 
64
</chapter>