Program: 169300
Project: 169300
Buggy source:
public static void main(String[] args) throws Exception {
  String inFile=null;
  int kmerSize=DEFAULT_K;
  int threshold=DEFAULT_THRESHOLD;
  int numHashes=DEFAULT_HASHES;
  int maxSkip=DEFAULT_SKIP;
  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")) {
      numHashes=Integer.parseInt(args[++i]);
    }
 else     if (args[i].trim().equalsIgnoreCase("String_Node_Str")) {
      threshold=Integer.parseInt(args[++i]);
    }
 else     if (args[i].trim().equalsIgnoreCase("String_Node_Str")) {
      maxSkip=Integer.parseInt(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" + numHashes);
  System.err.println("String_Node_Str" + maxSkip);
  long startTime=System.nanoTime();
  ReadData data=new ReadData(inFile,fastaSuffix,kmerSize);
  System.err.println("String_Node_Str" + (System.nanoTime() - startTime) / 1.0e-9);
  startTime=System.nanoTime();
  MinHash minHash=new MinHash(numHashes);
  minHash.addData(data);
  System.err.println("String_Node_Str" + (System.nanoTime() - startTime) / 1.0e-9);
  startTime=System.nanoTime();
  ArrayList<MatchResult> results=new ArrayList<MatchResult>();
  for (  Sequence seq : data.getSequences()) {
    List<MatchResult> matches=minHash.findMatches(seq,0.0);
    results.addAll(matches);
  }
  System.err.println("String_Node_Str" + (System.nanoTime() - startTime) / 1.0e-9);
  for (  MatchResult match : results) {
    System.out.format("String_Node_Str",match.getFromId(),match.getToId(),match.getScore());
  }
}

Fixed version (ground truth):
public static void main(String[] args) throws Exception {
  String inFile=null;
  int kmerSize=DEFAULT_KMER_SIZE;
  int threshold=DEFAULT_THRESHOLD;
  int numHashes=DEFAULT_NUM_HASHES;
  int maxSkip=DEFAULT_SKIP;
  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")) {
      numHashes=Integer.parseInt(args[++i]);
    }
 else     if (args[i].trim().equalsIgnoreCase("String_Node_Str")) {
      threshold=Integer.parseInt(args[++i]);
    }
 else     if (args[i].trim().equalsIgnoreCase("String_Node_Str")) {
      maxSkip=Integer.parseInt(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" + numHashes);
  System.err.println("String_Node_Str" + maxSkip);
  long startTime=System.nanoTime();
  FastaData data=new FastaData(inFile,fastaSuffix,kmerSize);
  System.err.println("String_Node_Str" + (System.nanoTime() - startTime) * 1.0e-9);
  startTime=System.nanoTime();
  MinHash minHash=new MinHash(numHashes);
  minHash.addData(data);
  System.err.println("String_Node_Str" + (System.nanoTime() - startTime) * 1.0e-9);
  startTime=System.nanoTime();
  ArrayList<MatchResult> results=new ArrayList<MatchResult>();
  for (  Sequence seq : data.getSequences()) {
    List<MatchResult> matches=minHash.findMatches(seq,0.0);
    results.addAll(matches);
  }
  System.err.println("String_Node_Str" + (System.nanoTime() - startTime) * 1.0e-9);
  System.out.println("String_Node_Str" + results.size() + "String_Node_Str");
  for (  MatchResult match : results) {
    System.out.format("String_Node_Str",match.getFromId(),match.getToId(),match.getScore());
  }
}