Program: 9760
Project: 9760
Buggy source:
@Override public void start(){
  stop=false;
  isRunning=true;
  reset();
  nanoStartTime=System.nanoTime();
  double highestAccuracy=0.0;
  OENode nextNode;
  addNode(startClass,null);
  int loop=0;
  while (!terminationCriteriaSatisfied()) {
    if (!singleSuggestionMode && bestEvaluatedDescriptions.getBestAccuracy() > highestAccuracy) {
      highestAccuracy=bestEvaluatedDescriptions.getBestAccuracy();
      logger.info("String_Node_Str" + dfPercent.format(highestAccuracy) + "String_Node_Str"+ descriptionToString(bestEvaluatedDescriptions.getBest().getDescription()));
    }
    nextNode=getNextNodeToExpand();
    int horizExp=nextNode.getHorizontalExpansion();
    Monitor mon=MonitorFactory.start("String_Node_Str");
    TreeSet<Description> refinements=refineNode(nextNode);
    mon.stop();
    while (refinements.size() != 0) {
      Description refinement=refinements.pollFirst();
      int length=refinement.getLength();
      if (length > horizExp && refinement.getDepth() <= maxDepth) {
        Monitor mon2=MonitorFactory.start("String_Node_Str");
        addNode(refinement,nextNode);
        mon2.stop();
        if (terminationCriteriaSatisfied()) {
          break;
        }
      }
    }
    updateMinMaxHorizExp(nextNode);
    loop++;
  }
  if (stop) {
    logger.info("String_Node_Str" + expressionTests + "String_Node_Str"+ nodes.size()+ "String_Node_Str");
  }
 else {
    logger.info("String_Node_Str" + expressionTests + "String_Node_Str"+ nodes.size()+ "String_Node_Str");
  }
  if (singleSuggestionMode) {
    bestEvaluatedDescriptions.add(bestDescription,bestAccuracy,learningProblem);
  }
  logger.info("String_Node_Str" + getSolutionString());
  isRunning=false;
}

Fixed version (ground truth):
@Override public void start(){
  stop=false;
  isRunning=true;
  reset();
  nanoStartTime=System.nanoTime();
  double highestAccuracy=0.0;
  OENode nextNode;
  addNode(startClass,null);
  int loop=0;
  while (!terminationCriteriaSatisfied()) {
    if (!singleSuggestionMode && bestEvaluatedDescriptions.getBestAccuracy() > highestAccuracy) {
      highestAccuracy=bestEvaluatedDescriptions.getBestAccuracy();
      logger.info("String_Node_Str" + dfPercent.format(highestAccuracy) + "String_Node_Str"+ descriptionToString(bestEvaluatedDescriptions.getBest().getDescription()));
    }
    nextNode=getNextNodeToExpand();
    int horizExp=nextNode.getHorizontalExpansion();
    Monitor mon=MonitorFactory.start("String_Node_Str");
    TreeSet<Description> refinements=refineNode(nextNode);
    mon.stop();
    while (refinements.size() != 0) {
      Description refinement=refinements.pollFirst();
      int length=refinement.getLength();
      if (length > horizExp && refinement.getDepth() <= maxDepth) {
        Monitor mon2=MonitorFactory.start("String_Node_Str");
        addNode(refinement,nextNode);
        mon2.stop();
        if (terminationCriteriaSatisfied()) {
          break;
        }
      }
    }
    updateMinMaxHorizExp(nextNode);
    if (configurator.getWriteSearchTree()) {
      String treeString="String_Node_Str" + bestEvaluatedDescriptions.getBest() + "String_Node_Str";
      if (refinements.size() > 1) {
        treeString+="String_Node_Str";
        for (        Description n : refinements) {
          treeString+="String_Node_Str" + n + "String_Node_Str";
        }
      }
      treeString+=startNode.toTreeString(baseURI);
      treeString+="String_Node_Str";
      if (configurator.getReplaceSearchTree())       Files.createFile(new File(configurator.getSearchTreeFile()),treeString);
 else       Files.appendFile(new File(configurator.getSearchTreeFile()),treeString);
    }
    loop++;
  }
  if (stop) {
    logger.info("String_Node_Str" + expressionTests + "String_Node_Str"+ nodes.size()+ "String_Node_Str");
  }
 else {
    logger.info("String_Node_Str" + expressionTests + "String_Node_Str"+ nodes.size()+ "String_Node_Str");
  }
  if (singleSuggestionMode) {
    bestEvaluatedDescriptions.add(bestDescription,bestAccuracy,learningProblem);
  }
  logger.info("String_Node_Str" + getSolutionString());
  isRunning=false;
}