Reading List.

Each week will be devoted to one paper and one tool. Dates are subject to change.

Class Wiki

Presentation Guidelines
Date Reading Assignment Topic Tool Who
Jan 16/18   Intro BCEL instructions  
Jan 23/25 PIN (PLDI 2005)
Slides: pdf, ppt
PIN Homepage at U Colorado PIN instructions Godmar
Jan 30/1 JIVE
jGrasp SIGCSE'04
Visualizing Java in Action
Page at Brown University
Additional material for presenter: Study: Jain ACMSE '05 Compares several tools - finds jGrasp, JIVE & LIVE on top. http://doi.acm.org/10.1145/1148493.1148497 Local copy: Experimental Evaluation of Animated-Verifying Object Viewers for Java - talks about jGrasp.
JIVE & jGrasp instructions Jai
Feb 6/8 Valgrind (2003) Alternative/additional reading:
Valgrind (PhD thesis) valgrind.org publications
Valgrind instructions Patrick
Feb 13/15 Top An Infrastructure for detecting Application-Specific Program Errors by Binary Runtime Instrumentation
Top instructions Jai
Feb 20/22 Daikon The Daikon system for dynamic detection of likely invariants
Additional material: MIT page

Philip Guo's MS thesis and paper on Fjalar/Kvasir page

Daikon instructions Karthik B.
Feb 27/1 PQL Finding Application Errors and Security Flaws Using PQL: a Program Query Language
Sourceforge
PQL instructions Patrick
Mar 13/15 FindBugs FindBugs
Sourceforge Comparison paper
FindBugs instructions Karthik B.
Mar 20/22 Eraser Dynamic race detection for Java Related material: "Precise Race Detection and Efficient Model Checking using Locksets", "Goldilocks: Efficiently Computing the Happens-Before Relation using Locksets", "LOCKSMITH: Context-Sensitive Correlation Analysis for Race Detection:
or
Zing ModelChecker
CheckSync or Ladybug. instructions Karthik C.
Mar 27/29 Chord Static race detection for Java Chord instructions Corban
Apr 3/5 CIL CIL - Infrastructure for C Program Analysis and Transformation instructions Michael N.
Apr 10/12 ESC/Java Static sound checking for Java Include JML as related here. instructions Corban
Apr 17/19 Metal Static unsound checking with Metal Coverity instructions Volunteer/Godmar
Apr 24/26 MS SAL Microsoft SAL Howard's blog instructions Michael N.
May 1 To be determined
Unassigned/unscheduled topics:

DOI: 10.1002/cpe.1036 A survey of systems for detecting serial run-time errors Glenn R. Luecke *, James Coyle, Jim Hoekstra, Marina Kraeva, Ying Li, Olga Taborskaia, Yanmei Wang


Spec#
JLint; PMD; Bandera; JCrasher; MS SLAM Delta Debugging DART ModelChecking: PathFinder or FiSC/EXE: Fugue, Vault, ESP?

Resources

Jonathan Aldrich's CS 654 (collection of tools)

Delta Debugging Program Shepherding

Campbell's LIVE (does C++, Java - simplified. Parses into AST, then interprets.) http://doi.acm.org/10.1145/792548.611972