|
Chord, a static analysis framework for Java, is now available. The static race detector will be integrated into the framework in the near future.
The following table provides links to the output of Chord 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.
More details may be found in a technical paper.
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
A comprehensive technical presentation of the Chord project.
The Chord project is supported by grants from the National Science Foundation, an equipment grant from Intel, and a Microsoft graduate student fellowship.
Please send questions and comments about the Chord project to <chord@cs.stanford.edu>.