Program: 149601
Project: 149601
Buggy source:
@Override public BenchmarkResults process(BenchmarkInput input){
  RandomUtil.reseedThreadLocal(input.challenge.seed);
  KAligner2Statistics stat=new KAligner2Statistics();
  BatchAlignerWithBase<NucleotideSequence,Integer,? extends AlignmentHit> aligner=input.params.createAligner();
  NucleotideSequence[] db=input.challenge.getDB();
  for (int i=0; i < db.length; i++)   aligner.addReference(db[i],i);
  long executionTime=0;
  int processedQueries=0;
  int mismatched=0;
  int noHits=0;
  long start=System.nanoTime();
  OUTER:   for (  KAlignerQuery query : CUtils.it(input.challenge.queries())) {
    if (System.nanoTime() - start > maxExecutionTime)     break;
    if (noHits > maxNoHits)     break;
    long seed=RandomUtil.reseedThreadLocal();
    try {
      long b=System.nanoTime();
      AlignmentResult<? extends AlignmentHit> result=aligner.align(query.query);
      ++processedQueries;
      executionTime+=(System.nanoTime() - b);
      if (!result.hasHits()) {
        ++noHits;
        continue;
      }
      for (      AlignmentHit hit : result.getHits())       if (!query.query.getRange(hit.getAlignment().getSequence2Range()).equals(AlignmentUtils.getAlignedSequence2Part(hit.getAlignment())))       throw new RuntimeException("String_Node_Str");
      float topScore=result.getHits().get(0).getAlignment().getScore();
      for (      AlignmentHit hit : result.getHits()) {
        if (hit.getAlignment().getScore() != topScore)         break;
        if (hit.getRecordPayload().equals(query.targetId))         continue OUTER;
      }
      ++mismatched;
    }
 catch (    Exception e) {
      if (exceptionListener != null)       exceptionListener.onException(new ExceptionData(seed,e,db,query.query,input));
 else       throw e;
    }
  }
  return new BenchmarkResults(input,stat,executionTime,processedQueries,mismatched,noHits);
}

Fixed version (ground truth):
@Override public BenchmarkResults process(BenchmarkInput input){
  RandomUtil.reseedThreadLocal(input.challenge.seed);
  KAligner2Statistics stat=new KAligner2Statistics();
  BatchAlignerWithBase<NucleotideSequence,Integer,? extends AlignmentHit> aligner=input.params.createAligner();
  NucleotideSequence[] db=input.challenge.getDB();
  for (int i=0; i < db.length; i++)   aligner.addReference(db[i],i);
  long executionTime=0;
  int processedQueries=0;
  int processedGoodQueries=0;
  int falsePositives=0;
  int mismatched=0;
  int noHits=0;
  int scoreError=0;
  long start=System.nanoTime();
  OUTER:   for (  KAlignerQuery query : CUtils.it(input.challenge.queries())) {
    if (System.nanoTime() - start > maxExecutionTime)     break;
    if (noHits > maxNoHits)     break;
    long seed=RandomUtil.reseedThreadLocal();
    try {
      long b=System.nanoTime();
      AlignmentResult<? extends AlignmentHit> result=aligner.align(query.query);
      executionTime+=(System.nanoTime() - b);
      ++processedQueries;
      if (query.isFalse()) {
        if (result.hasHits())         ++falsePositives;
      }
 else {
        ++processedGoodQueries;
        if (!result.hasHits()) {
          ++noHits;
          continue;
        }
        for (        AlignmentHit hit : result.getHits())         if (!query.query.getRange(hit.getAlignment().getSequence2Range()).equals(AlignmentUtils.getAlignedSequence2Part(hit.getAlignment())))         throw new RuntimeException("String_Node_Str");
        float topScore=result.getHits().get(0).getAlignment().getScore();
        for (        AlignmentHit hit : result.getHits()) {
          if (hit.getAlignment().getScore() != topScore)           break;
          if (hit.getRecordPayload().equals(query.targetId)) {
            if (topScore < 0.95 * query.expectedAlignment.getScore()) {
              ++scoreError;
            }
            continue OUTER;
          }
        }
        ++mismatched;
      }
    }
 catch (    Exception e) {
      if (exceptionListener != null)       exceptionListener.onException(new ExceptionData(seed,e,db,query.query,input));
 else       throw e;
    }
  }
  return new BenchmarkResults(input,stat,executionTime,processedQueries,processedGoodQueries,falsePositives,mismatched,noHits,scoreError);
}