|
From: <sv...@va...> - 2007-08-28 22:44:19
|
Author: njn
Date: 2007-08-28 23:44:20 +0100 (Tue, 28 Aug 2007)
New Revision: 335
Log:
Add origin tracking paper. Mention it on the projects page.
Added:
trunk/docs/origin-tracking2007.pdf
Modified:
trunk/docs/pubs.html
trunk/help/projects.html
Added: trunk/docs/origin-tracking2007.pdf
===================================================================
(Binary files differ)
Property changes on: trunk/docs/origin-tracking2007.pdf
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/docs/pubs.html
===================================================================
--- trunk/docs/pubs.html 2007-07-22 22:24:17 UTC (rev 334)
+++ trunk/docs/pubs.html 2007-08-28 22:44:20 UTC (rev 335)
@@ -10,8 +10,22 @@
<ul>
<li><p>
+ <b><a href="/docs/origin-tracking2007.pdf">Tracking Bad Apples: Reporting the
+ Origin of Null and Undefined Value Errors</a>.<br>
+ Michael D. Bond, Nicholas Nethercote, Stephen W. Kent, Samuel Z. Guyer and
+ Kathryn S. McKinley.<br>
+ Proceedings of OOPSLA 2007, Montreal, Canada, October 2007.</b><br>
+ This paper describes an attempt to improve the error messages produced for
+ undefined value errors detected by Memcheck by tracking their origins.
+ Ultimately it wasn't that useful in practice. The paper also describes a
+ similar technique for improving null pointer exception messages in Java,
+ which was much more successful. Please only cite this paper if you are
+ discussing specifically origin tracking.
+ </p></li>
+
+ <li><p>
<b><a href="/docs/valgrind2007.pdf">Valgrind: A Framework for Heavyweight
- Dynamic Binary Instrumentation.</a><br>
+ Dynamic Binary Instrumentation</a>.<br>
Nicholas Nethercote and Julian Seward.<br>
Proceedings of PLDI 2007, San Diego, California, USA, June 2007.</b><br>
This paper describes how Valgrind works, and how it differs from other
@@ -24,7 +38,7 @@
<li><p>
<b><a href="/docs/shadow-memory2007.pdf">How to Shadow Every Byte of Memory
- Used by a Program.</a><br>
+ Used by a Program</a>.<br>
Nicholas Nethercote and Julian Seward.<br>
Proceedings of VEE 2007, San Diego, California, USA, June 2007.</b><br>
This paper describes in detail how Memcheck's shadow memory is
@@ -36,7 +50,7 @@
<li><p>
<b><a href="/docs/iiswc2006.pdf">Building Workload Characterization Tools
- with Valgrind.</a><br>
+ with Valgrind</a>.<br>
Nicholas Nethercote, Robert Walsh and Jeremy Fitzhardinge.<br>
Invited tutorial, IEEE International Symposium on Workload
Characterization, San Jose, California, USA, October 2006.</b><br>
@@ -48,7 +62,7 @@
<li><p>
<b><a href="/docs/memcheck2005.pdf">Using Valgrind to detect undefined value
- errors with bit-precision.</a><br>
+ errors with bit-precision</a>.<br>
Julian Seward and Nicholas Nethercote.<br>
Proceedings of the USENIX'05 Annual Technical Conference, Anaheim,
California, USA, April 2005.</b><br>
@@ -59,7 +73,7 @@
</p></li>
<li><p>
- <b><a href="/docs/phd2004.pdf">Dynamic Binary Analysis and Instrumentation.</a><br>
+ <b><a href="/docs/phd2004.pdf">Dynamic Binary Analysis and Instrumentation</a>.<br>
Nicholas Nethercote.<br>
PhD Dissertation, University of Cambridge, November 2004.</b><br>
This dissertation describes Valgrind in some detail (some of these details
@@ -75,7 +89,7 @@
<li><p>
<b><a href="/docs/callgrind2004.pdf">A Tool Suite for Simulation Based
- Analysis of Memory Access Behavior.</a><br>
+ Analysis of Memory Access Behavior</a>.<br>
Josef Weidendorfer, Markus Kowarschik and Carsten Trinitis.<br>
Proceedings of the 4th International Conference on Computational Science
(ICCS 2004), Krakow, Poland, June 2004.</b><br>
@@ -84,7 +98,7 @@
<li><p>
<b><a href="/docs/bounds-checking2004.ps">Bounds-Checking Entire Programs Without
- Recompiling.</a><br>
+ Recompiling</a>.<br>
Nicholas Nethercote and Jeremy Fitzhardinge.<br>
Informal Proceedings of the Second Workshop on Semantics, Program
Analysis, and Computing Environments for Memory Management (SPACE 2004),
@@ -97,7 +111,7 @@
</p></li>
<li><p>
- <b><a href="/docs/valgrind2003.ps">Valgrind: A Program Supervision Framework.</a> (<a href="/docs/valgrind2003-talk.ps">slides</a>)<br>
+ <b><a href="/docs/valgrind2003.ps">Valgrind: A Program Supervision Framework</a>. (<a href="/docs/valgrind2003-talk.ps">slides</a>)<br>
Nicholas Nethercote and Julian Seward.<br>
Electronic Notes in Theoretical Computer Science 89 No. 2, 2003.</b><br>
This paper describes Valgrind in general, but is somewhat out-of-date.
@@ -105,7 +119,7 @@
</p></li>
<li><p>
- <b><a href="/docs/redux2003.ps">Redux: A Dynamic Dataflow Tracer.</a><br>
+ <b><a href="/docs/redux2003.ps">Redux: A Dynamic Dataflow Tracer</a>.<br>
Nicholas Nethercote and Alan Mycroft.<br>
Electronic Notes in Theoretical Computer Science 89 No. 2, 2003.</b><br>
This paper describes Redux, and experimental dynamic dataflow tracing
@@ -126,7 +140,7 @@
<li><p>
<b><a href="/docs/muehlenfeld2006.pdf">Fault Detection in Multi-Threaded C++
- Server Applications.</a><br>
+ Server Applications</a>.<br>
Arndt Muehlenfeld and Franz Wotawa.<br>
Informal Proceedings of the International Workshop on Multithreading in
Hardware and Software (TV06), Seattle, Washington, USA, August 2006.</b><br>
@@ -136,7 +150,7 @@
<li><p>
<b><a href="/docs/newsome2005.pdf">Dynamic taint analysis for automatic
detection, analysis, and signature generation of exploits on commodity
- software.</a><br>
+ software</a>.<br>
James Newsome and Dawn Song.<br>
Proceedings of the 12th Annual Network and Distributed System Security
Symposium (NDSS '05), February 2005.</b><br>
Modified: trunk/help/projects.html
===================================================================
--- trunk/help/projects.html 2007-07-22 22:24:17 UTC (rev 334)
+++ trunk/help/projects.html 2007-08-28 22:44:20 UTC (rev 335)
@@ -328,7 +328,12 @@
wrong. A solution to this problem would be publishable. (Added August 27,
2005)</p>
+<p>The "Tracking Bad Apples" paper on our
+<a href="docs/pubs.html">publications page</a> describes an attempt at this
+that was promising but ultimately didn't work that well in practice.
+(August 29, 2007)
+
<h3>Cryptographic snooping</h3>
<p>Since a Valgrind tool can see every operation performed by a program,
it is conceivable that a tool might be able to analyse some kind of
|