Program: 33059
Project: 33059
Buggy source:
static void analyzeMistakes(Config config,IMLGradientBoosting boosting,MultiLabelClfDataSet dataSet) throws Exception {
  int numClassesInTrain=getNumClassesInTrain(config);
  int numClassesInTest=dataSet.getNumClasses();
  LabelTranslator labelTranslator=dataSet.getSetting().getLabelTranslator();
  if (numClassesInTest > numClassesInTrain) {
    System.out.println("String_Node_Str");
    for (int k=numClassesInTrain; k < numClassesInTest; k++) {
      System.out.println("String_Node_Str" + k + "String_Node_Str"+ labelTranslator.toExtLabel(k)+ "String_Node_Str");
    }
  }
  List<MultiLabel> predictions=boosting.predict(dataSet);
  MultiLabel[] trueLabels=dataSet.getMultiLabels();
  int limit=config.getInt("String_Node_Str");
  for (int i=0; i < dataSet.getNumDataPoints(); i++) {
    System.out.println("String_Node_Str");
    MultiLabel prediction=predictions.get(i);
    MultiLabel trueLabel=trueLabels[i];
    if (!prediction.equals(trueLabel)) {
      FeatureRow featureRow=dataSet.getFeatureRow(i);
      System.out.println("String_Node_Str" + i + "String_Node_Str"+ featureRow.getSetting().getExtId());
      if (prediction.outOfBound(numClassesInTrain)) {
        System.out.println("String_Node_Str" + trueLabel.toStringWithExtLabels(labelTranslator));
        System.out.println("String_Node_Str" + prediction.toStringWithExtLabels(labelTranslator));
        System.out.println("String_Node_Str");
      }
 else {
        System.out.println(IMLGBInspector.analyzeMistake(boosting,featureRow,trueLabel,prediction,labelTranslator,limit));
      }
    }
  }
}

Fixed version (ground truth):
static void analyzeMistakes(Config config,IMLGradientBoosting boosting,MultiLabelClfDataSet dataSet) throws Exception {
  int numClassesInTrain=getNumClassesInTrain(config);
  int numClassesInTest=dataSet.getNumClasses();
  LabelTranslator labelTranslator=dataSet.getSetting().getLabelTranslator();
  if (numClassesInTest > numClassesInTrain) {
    System.out.println("String_Node_Str");
    for (int k=numClassesInTrain; k < numClassesInTest; k++) {
      System.out.println("String_Node_Str" + k + "String_Node_Str"+ labelTranslator.toExtLabel(k)+ "String_Node_Str");
    }
  }
  List<MultiLabel> predictions=boosting.predict(dataSet);
  MultiLabel[] trueLabels=dataSet.getMultiLabels();
  int limit=config.getInt("String_Node_Str");
  for (int i=0; i < dataSet.getNumDataPoints(); i++) {
    System.out.println("String_Node_Str");
    MultiLabel prediction=predictions.get(i);
    MultiLabel trueLabel=trueLabels[i];
    if (!prediction.equals(trueLabel)) {
      FeatureRow featureRow=dataSet.getFeatureRow(i);
      System.out.println("String_Node_Str" + i + "String_Node_Str"+ featureRow.getSetting().getExtId());
      if (trueLabel.outOfBound(numClassesInTrain)) {
        System.out.println("String_Node_Str" + trueLabel.toStringWithExtLabels(labelTranslator));
        System.out.println("String_Node_Str" + prediction.toStringWithExtLabels(labelTranslator));
        System.out.println("String_Node_Str");
      }
 else {
        System.out.println(IMLGBInspector.analyzeMistake(boosting,featureRow,trueLabel,prediction,labelTranslator,limit));
      }
    }
  }
}