PLDI'06 Experimental Results

The following table provides links to the output of Chord's datarace checker on 12 Java programs, along with our analysis of the output, developers' responses, and the resolution of bugs we reported. The number of bugs in column 4 denotes the number of distinct fixes to the source code.

The discussions in column 5 are the most accurate description of the bugs. (Bug reports in column 6 were filed for some projects but not for others because developers of some projects chose to fix the bugs discussed in column 5 without filing bug reports.)

Programs with "N.A." in columns 5 and 6 have been analyzed in previous work on race detection.

Chord output Program description LOC # Bugs Discussions with developers Bugs filed
vect 1.1 JDK 1.1 java.util.Vector 2632 1 N.A. N.A.
htbl 1.1 JDK 1.1 java.util.Hashtable 2688 0 N.A. N.A.
htbl 1.4 JDK 1.4 java.util.Hashtable 75342 0 N.A. N.A.
vect 1.4 JDK 1.4 java.util.Vector 75675 0 N.A. N.A.
tsp Traveling Salesman Problem implementation from ETH 76026 1 N.A. N.A.
hedc web crawler from ETH 82992 1 N.A. N.A.
ftp Apache FTP Server, an FTP server 103183 12 1, 2, 3 1
jdbm JDBM, a lightweight transactional persistence engine 115364 2 1 none
jdbf JdbF, an object-relational mapping system 121569 18 1, 2 1, 2, 3, 4, 5
pool Apache Commons Pool, a generic object-pooling library 123878 17 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 1, 2, 3, 4, 5
jtds jTDS, a JDBC driver 164820 16 1 none
derby Apache Derby, an RDBMS 646447 319 1, 2, 3, 4 1