Program: 22791
Project: 22791
Buggy source:
public void trainClassifier(){
  if (positiveExamples.size() == 0) {
    IJ.showMessage("String_Node_Str");
    return;
  }
  if (negativeExamples.size() == 0) {
    IJ.showMessage("String_Node_Str");
    return;
  }
  IJ.showStatus("String_Node_Str");
  long start=System.currentTimeMillis();
  Instances data=createTrainingInstances();
  long end=System.currentTimeMillis();
  IJ.log("String_Node_Str" + (end - start));
  data.setClassIndex(data.numAttributes() - 1);
  FastRandomForest rf=new FastRandomForest();
  rf.setNumTrees(200);
  rf.setNumFeatures((int)Math.round(Math.sqrt(featureStack.getSize())));
  writeDataToARFF(data,"String_Node_Str");
  rf.setSeed(123);
  IJ.log("String_Node_Str");
  try {
    rf.buildClassifier(data);
  }
 catch (  Exception e) {
    IJ.showMessage("String_Node_Str");
  }
  IJ.log("String_Node_Str");
  start=System.currentTimeMillis();
  data=featureStack.createInstances();
  end=System.currentTimeMillis();
  IJ.log("String_Node_Str" + (end - start));
  data.setClassIndex(data.numAttributes() - 1);
  IJ.log("String_Node_Str");
  double[] classificationResult=new double[data.numInstances()];
  for (int i=0; i < data.numInstances(); i++) {
    try {
      classificationResult[i]=rf.classifyInstance(data.instance(i));
    }
 catch (    Exception e) {
      IJ.showMessage("String_Node_Str");
    }
  }
  IJ.log("String_Node_Str");
  ImageProcessor classifiedImageProcessor=new FloatProcessor(trainingImage.getWidth(),trainingImage.getHeight(),classificationResult);
  classifiedImageProcessor.convertToByte(true);
  classifiedImage=new ImagePlus("String_Node_Str",classifiedImageProcessor);
  overlayButton.setEnabled(true);
  resultButton.setEnabled(true);
  showColorOverlay=false;
  toggleOverlay();
}

Fixed version (ground truth):
public void trainClassifier(){
  if (positiveExamples.size() == 0) {
    IJ.showMessage("String_Node_Str");
    return;
  }
  if (negativeExamples.size() == 0) {
    IJ.showMessage("String_Node_Str");
    return;
  }
  IJ.showStatus("String_Node_Str");
  long start=System.currentTimeMillis();
  Instances data=createTrainingInstances();
  long end=System.currentTimeMillis();
  IJ.log("String_Node_Str" + (end - start));
  data.setClassIndex(data.numAttributes() - 1);
  FastRandomForest rf=new FastRandomForest();
  rf.setNumTrees(200);
  rf.setNumFeatures((int)Math.round(Math.sqrt(featureStack.getSize())));
  rf.setSeed(123);
  IJ.log("String_Node_Str");
  try {
    rf.buildClassifier(data);
  }
 catch (  Exception e) {
    IJ.showMessage("String_Node_Str");
  }
  IJ.log("String_Node_Str");
  start=System.currentTimeMillis();
  data=featureStack.createInstances();
  end=System.currentTimeMillis();
  IJ.log("String_Node_Str" + (end - start));
  data.setClassIndex(data.numAttributes() - 1);
  IJ.log("String_Node_Str");
  double[] classificationResult=new double[data.numInstances()];
  for (int i=0; i < data.numInstances(); i++) {
    try {
      classificationResult[i]=rf.classifyInstance(data.instance(i));
    }
 catch (    Exception e) {
      IJ.showMessage("String_Node_Str");
    }
  }
  IJ.log("String_Node_Str");
  ImageProcessor classifiedImageProcessor=new FloatProcessor(trainingImage.getWidth(),trainingImage.getHeight(),classificationResult);
  classifiedImageProcessor.convertToByte(true);
  classifiedImage=new ImagePlus("String_Node_Str",classifiedImageProcessor);
  overlayButton.setEnabled(true);
  resultButton.setEnabled(true);
  showColorOverlay=false;
  toggleOverlay();
}