Program: 33019
Project: 33019
Buggy source:
static void report(Config config,String dataName) throws Exception {
  System.out.println("String_Node_Str" + dataName);
  String output=config.getString("String_Node_Str");
  String modelName="String_Node_Str";
  File analysisFolder=new File(new File(output,"String_Node_Str"),dataName + "String_Node_Str");
  analysisFolder.mkdirs();
  FileUtils.cleanDirectory(analysisFolder);
  IMLGradientBoosting boosting=IMLGradientBoosting.deserialize(new File(output,modelName));
  MultiLabelClfDataSet dataSet=loadData(config,dataName);
  System.out.println("String_Node_Str" + Accuracy.accuracy(boosting,dataSet));
  System.out.println("String_Node_Str" + Overlap.overlap(boosting,dataSet));
  if (true) {
    File distributionFile=new File(new File(config.getString("String_Node_Str"),"String_Node_Str"),"String_Node_Str");
    Collection<FeatureDistribution> distributions=(Collection)Serialization.deserialize(distributionFile);
    int limit=config.getInt("String_Node_Str");
    List<TopFeatures> topFeaturesList=IntStream.range(0,boosting.getNumClasses()).mapToObj(k -> IMLGBInspector.topFeatures(boosting,k,limit,distributions)).collect(Collectors.toList());
    ObjectMapper mapper=new ObjectMapper();
    String file="String_Node_Str";
    mapper.writeValue(new File(analysisFolder,file),topFeaturesList);
  }
  if (true) {
    int limit=config.getInt("String_Node_Str");
    int numDocsPerFile=config.getInt("String_Node_Str");
    int numFiles=(int)Math.ceil((double)dataSet.getNumDataPoints() / numDocsPerFile);
    double probThreshold=config.getDouble("String_Node_Str");
    for (int i=0; i < numFiles; i++) {
      int start=i;
      int end=i + numDocsPerFile;
      List<MultiLabelPredictionAnalysis> partition=new ArrayList<>();
      for (int a=start; a < end && a < dataSet.getNumDataPoints(); a++) {
        List<Integer> classes=new ArrayList<Integer>();
        for (int k=0; k < boosting.getNumClasses(); k++) {
          if (boosting.predictClassProb(dataSet.getRow(a),k) >= probThreshold) {
            classes.add(k);
          }
        }
        partition.add(IMLGBInspector.analyzePrediction(boosting,dataSet,a,classes,limit));
      }
      ObjectMapper mapper=new ObjectMapper();
      String file="String_Node_Str" + (i + 1) + "String_Node_Str";
      mapper.writeValue(new File(analysisFolder,file),partition);
    }
  }
  System.out.println("String_Node_Str");
}

Fixed version (ground truth):
static void report(Config config,String dataName) throws Exception {
  System.out.println("String_Node_Str" + dataName);
  String output=config.getString("String_Node_Str");
  String modelName="String_Node_Str";
  File analysisFolder=new File(new File(output,"String_Node_Str"),dataName + "String_Node_Str");
  analysisFolder.mkdirs();
  FileUtils.cleanDirectory(analysisFolder);
  IMLGradientBoosting boosting=IMLGradientBoosting.deserialize(new File(output,modelName));
  MultiLabelClfDataSet dataSet=loadData(config,dataName);
  System.out.println("String_Node_Str" + Accuracy.accuracy(boosting,dataSet));
  System.out.println("String_Node_Str" + Overlap.overlap(boosting,dataSet));
  if (true) {
    File distributionFile=new File(new File(config.getString("String_Node_Str"),"String_Node_Str"),"String_Node_Str");
    Collection<FeatureDistribution> distributions=(Collection)Serialization.deserialize(distributionFile);
    int limit=config.getInt("String_Node_Str");
    List<TopFeatures> topFeaturesList=IntStream.range(0,boosting.getNumClasses()).mapToObj(k -> IMLGBInspector.topFeatures(boosting,k,limit,distributions)).collect(Collectors.toList());
    ObjectMapper mapper=new ObjectMapper();
    String file="String_Node_Str";
    mapper.writeValue(new File(analysisFolder,file),topFeaturesList);
  }
  if (true) {
    int limit=config.getInt("String_Node_Str");
    int numDocsPerFile=config.getInt("String_Node_Str");
    int numFiles=(int)Math.ceil((double)dataSet.getNumDataPoints() / numDocsPerFile);
    double probThreshold=config.getDouble("String_Node_Str");
    for (int i=0; i < numFiles; i++) {
      int start=i * numDocsPerFile;
      int end=start + numDocsPerFile;
      List<MultiLabelPredictionAnalysis> partition=new ArrayList<>();
      for (int a=start; a < end && a < dataSet.getNumDataPoints(); a++) {
        List<Integer> classes=new ArrayList<Integer>();
        for (int k=0; k < boosting.getNumClasses(); k++) {
          if (boosting.predictClassProb(dataSet.getRow(a),k) >= probThreshold) {
            classes.add(k);
          }
        }
        partition.add(IMLGBInspector.analyzePrediction(boosting,dataSet,a,classes,limit));
      }
      ObjectMapper mapper=new ObjectMapper();
      String file="String_Node_Str" + (i + 1) + "String_Node_Str";
      mapper.writeValue(new File(analysisFolder,file),partition);
    }
  }
  System.out.println("String_Node_Str");
}