Program: 169286
Project: 169286
Buggy source:
public static void main(String[] args) throws Exception {
  String inFile=null;
  int kmerSize=DEFAULT_KMER_SIZE;
  double threshold=DEFAULT_THRESHOLD;
  int numWords=DEFAULT_NUM_WORDS;
  for (int i=0; i < args.length; i++) {
    if (args[i].trim().equalsIgnoreCase("String_Node_Str")) {
      kmerSize=Integer.parseInt(args[++i]);
    }
 else     if (args[i].trim().equalsIgnoreCase("String_Node_Str")) {
      inFile=args[++i];
    }
 else     if (args[i].trim().equalsIgnoreCase("String_Node_Str")) {
      numWords=Integer.parseInt(args[++i]);
    }
 else     if (args[i].trim().equalsIgnoreCase("String_Node_Str")) {
      threshold=Double.parseDouble(args[++i]);
    }
  }
  if (inFile == null) {
    printUsage("String_Node_Str");
  }
  System.err.println("String_Node_Str" + inFile);
  System.err.println("String_Node_Str" + kmerSize);
  System.err.println("String_Node_Str" + threshold);
  System.err.println("String_Node_Str" + numWords);
  long startTime=System.nanoTime();
  FastaData data=new FastaData(inFile,fastaSuffix,kmerSize);
  System.err.println("String_Node_Str" + data.size() + "String_Node_Str");
  System.err.println("String_Node_Str" + (System.nanoTime() - startTime) * 1.0e-9);
  AbstractHashSearch<?,?> hashSearch=new SimHashSearch(kmerSize,numWords);
  hashSearch.addData(data);
  System.err.println("String_Node_Str" + (System.nanoTime() - startTime) * 1.0e-9);
  startTime=System.nanoTime();
  ArrayList<MatchResult> results=hashSearch.findMatches(threshold);
  System.err.println("String_Node_Str" + (System.nanoTime() - startTime) * 1.0e-9);
  Collections.sort(results);
  System.err.println("String_Node_Str" + results.size() + "String_Node_Str");
  for (  MatchResult match : results) {
    System.out.format("String_Node_Str",match.getScore(),match.getFromId().toStringInt(),match.getToId().toStringInt(),match.getFromShift());
  }
}

Fixed version (ground truth):
public static void main(String[] args) throws Exception {
  String inFile=null;
  int kmerSize=DEFAULT_KMER_SIZE;
  double threshold=DEFAULT_THRESHOLD;
  int numWords=DEFAULT_NUM_WORDS;
  for (int i=0; i < args.length; i++) {
    if (args[i].trim().equalsIgnoreCase("String_Node_Str")) {
      kmerSize=Integer.parseInt(args[++i]);
    }
 else     if (args[i].trim().equalsIgnoreCase("String_Node_Str")) {
      inFile=args[++i];
    }
 else     if (args[i].trim().equalsIgnoreCase("String_Node_Str")) {
      numWords=Integer.parseInt(args[++i]);
    }
 else     if (args[i].trim().equalsIgnoreCase("String_Node_Str")) {
      threshold=Double.parseDouble(args[++i]);
    }
  }
  if (inFile == null) {
    printUsage("String_Node_Str");
  }
  System.err.println("String_Node_Str" + inFile);
  System.err.println("String_Node_Str" + kmerSize);
  System.err.println("String_Node_Str" + threshold);
  System.err.println("String_Node_Str" + numWords);
  long startTime=System.nanoTime();
  FastaData data=new FastaData(inFile,fastaSuffix,kmerSize);
  System.err.println("String_Node_Str" + data.size() + "String_Node_Str");
  System.err.println("String_Node_Str" + (System.nanoTime() - startTime) * 1.0e-9);
  MinHashSearch hashSearch=new MinHashSearch(kmerSize,numWords);
  hashSearch.addData(data);
  System.err.println("String_Node_Str" + (System.nanoTime() - startTime) * 1.0e-9);
  startTime=System.nanoTime();
  ArrayList<MatchResult> results=hashSearch.findMatches(threshold);
  System.err.println("String_Node_Str" + (System.nanoTime() - startTime) * 1.0e-9);
  Collections.sort(results);
  System.err.println("String_Node_Str" + results.size() + "String_Node_Str");
  for (  MatchResult match : results) {
    System.out.format("String_Node_Str",match.getScore(),match.getFromId().toStringInt(),match.getToId().toStringInt(),match.getFromShift());
  }
}