Program: 9543
Project: 9543
Buggy source:
@Override public void start(){
  stop=false;
  isRunning=true;
  reset();
  int treeCount=0;
  while (!stop && !stoppingCriteriaSatisfied()) {
    treeStartTime=System.nanoTime();
    ELDescriptionTree startTree=new ELDescriptionTree(reasoner,startClass);
    addDescriptionTree(startTree,null);
    bestCurrentScore=Double.NEGATIVE_INFINITY;
    int loop=0;
    while (!stop && !treeCriteriaSatisfied()) {
      SearchTreeNode best=candidates.pollLast();
      List<ELDescriptionTree> refinements=operator.refine(best.getDescriptionTree());
      for (      ELDescriptionTree refinement : refinements) {
        addDescriptionTree(refinement,best);
      }
      loop++;
      if (logger.isTraceEnabled()) {
        logger.trace("String_Node_Str" + best);
        logger.trace(startNode.getTreeString());
        logger.trace("String_Node_Str" + loop + "String_Node_Str");
      }
    }
    if (bestCurrentScore > minimumTreeScore) {
      currentSolution.add(bestCurrentNode.getDescriptionTree());
      Description bestDescription=bestCurrentNode.getDescriptionTree().transformToDescription();
      if (treeCount == 0) {
        bestEvaluatedDescription=learningProblem.evaluate(bestDescription);
      }
 else {
        Union union=new Union(bestEvaluatedDescription.getDescription(),bestDescription);
        bestEvaluatedDescription=learningProblem.evaluate(union);
      }
      Iterator<Individual> it=currentPosExamples.iterator();
      int posCov=0;
      while (it.hasNext()) {
        Individual ind=it.next();
        if (reasoner.hasType(bestDescription,ind)) {
          it.remove();
          posCov++;
        }
      }
      it=currentNegExamples.iterator();
      int negCov=0;
      while (it.hasNext()) {
        Individual ind=it.next();
        if (reasoner.hasType(bestDescription,ind)) {
          it.remove();
          negCov++;
        }
      }
      logger.info("String_Node_Str" + bestDescription.toManchesterSyntaxString(baseURI,prefixes) + "String_Node_Str"+ posCov+ "String_Node_Str"+ currentPosExamples.size()+ "String_Node_Str"+ negCov+ "String_Node_Str"+ currentNegExamples.size()+ "String_Node_Str"+ bestCurrentNode.getScore()+ "String_Node_Str");
    }
 else {
      logger.info("String_Node_Str" + bestCurrentNode.getDescriptionTree().transformToDescription().toManchesterSyntaxString(baseURI,prefixes) + "String_Node_Str"+ bestCurrentNode.getScore());
    }
    logger.info(trees.size() + "String_Node_Str");
    posWeight=Math.max(1.0,posWeight - 0.1);
    candidates.clear();
    trees.clear();
    treeCount++;
  }
  Description niceDescription=minimizer.minimizeClone(bestEvaluatedDescription.getDescription());
  bestEvaluatedDescription=learningProblem.evaluate(niceDescription);
  logger.info("String_Node_Str" + bestEvaluatedDescription.getDescription().toManchesterSyntaxString(baseURI,prefixes) + "String_Node_Str"+ bestEvaluatedDescription.getAccuracy()+ "String_Node_Str");
  isRunning=false;
}

Fixed version (ground truth):
@Override public void start(){
  stop=false;
  isRunning=true;
  reset();
  int treeCount=0;
  while (!stop && !stoppingCriteriaSatisfied()) {
    treeStartTime=System.nanoTime();
    ELDescriptionTree startTree=new ELDescriptionTree(reasoner,startClass);
    addDescriptionTree(startTree,null);
    bestCurrentScore=Double.NEGATIVE_INFINITY;
    int loop=0;
    while (!stop && !treeCriteriaSatisfied()) {
      SearchTreeNode best=candidates.pollLast();
      List<ELDescriptionTree> refinements=operator.refine(best.getDescriptionTree());
      for (      ELDescriptionTree refinement : refinements) {
        addDescriptionTree(refinement,best);
      }
      loop++;
      if (logger.isTraceEnabled()) {
        logger.trace("String_Node_Str" + best);
        logger.trace(startNode.getTreeString());
        logger.trace("String_Node_Str" + loop + "String_Node_Str");
      }
    }
    if (bestCurrentScore > minimumTreeScore) {
      currentSolution.add(bestCurrentNode.getDescriptionTree());
      Description bestDescription=bestCurrentNode.getDescriptionTree().transformToDescription();
      Description bestCombinedDescription=bestDescription;
      if (treeCount == 0) {
        bestEvaluatedDescription=learningProblem.evaluate(bestDescription);
      }
 else {
        bestCombinedDescription=new Union(bestEvaluatedDescription.getDescription(),bestDescription);
        bestEvaluatedDescription=learningProblem.evaluate(bestCombinedDescription);
      }
      Iterator<Individual> it=currentPosExamples.iterator();
      int posCov=0;
      while (it.hasNext()) {
        Individual ind=it.next();
        if (reasoner.hasType(bestDescription,ind)) {
          it.remove();
          posCov++;
        }
      }
      it=currentNegExamples.iterator();
      int negCov=0;
      while (it.hasNext()) {
        Individual ind=it.next();
        if (reasoner.hasType(bestDescription,ind)) {
          it.remove();
          negCov++;
        }
      }
      logger.info("String_Node_Str" + bestDescription.toManchesterSyntaxString(baseURI,prefixes) + "String_Node_Str"+ posCov+ "String_Node_Str"+ currentPosExamples.size()+ "String_Node_Str"+ negCov+ "String_Node_Str"+ currentNegExamples.size()+ "String_Node_Str"+ bestCurrentNode.getScore()+ "String_Node_Str");
      logger.info("String_Node_Str" + df.format(bestEvaluatedDescription.getAccuracy()));
    }
 else {
      logger.info("String_Node_Str" + bestCurrentNode.getDescriptionTree().transformToDescription().toManchesterSyntaxString(baseURI,prefixes) + "String_Node_Str"+ bestCurrentNode.getScore());
    }
    logger.info(trees.size() + "String_Node_Str");
    posWeight=Math.max(1.0,posWeight - 0.1);
    candidates.clear();
    trees.clear();
    treeCount++;
  }
  Description niceDescription=minimizer.minimizeClone(bestEvaluatedDescription.getDescription());
  bestEvaluatedDescription=learningProblem.evaluate(niceDescription);
  logger.info("String_Node_Str" + bestEvaluatedDescription.getDescription().toManchesterSyntaxString(baseURI,prefixes) + "String_Node_Str"+ bestEvaluatedDescription.getAccuracy()+ "String_Node_Str");
  isRunning=false;
}