mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-04 10:21:20 +00:00
http://valgrind.org/docs/pubs.html. Could do with improved formatting, but is at least a start. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7198
65 lines
2.5 KiB
XML
65 lines
2.5 KiB
XML
<?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>
|