Program: 143979
Project: 143979
Buggy source:
public static void main(String[] args){
  int numberOfExperimentRepetitions=10;
  int loggingLevel=2;
  String filename=args[0];
  String separator="String_Node_Str";
  double[] classificationThresholds=new double[]{Double.parseDouble(args[1])};
  List<String> domainNames=new ArrayList<>();
  List<boolean[][]> functionOutputs=new ArrayList<>();
  List<boolean[]> trueLabels=new ArrayList<>();
  List<boolean[][]> evaluationFunctionOutputs=new ArrayList<>();
  for (  File file : new File(filename).listFiles()) {
    if (file.isFile()) {
      DomainData data=parseLabeledDataFromCSVFile(file,separator,classificationThresholds,1,true);
      domainNames.add(data.domainName);
      functionOutputs.add(data.functionOutputs);
      trueLabels.add(data.trueLabels);
      evaluationFunctionOutputs.add(data.evaluationFunctionOutputs);
    }
  }
  CombinedResults results=new CombinedResults();
  for (int repetition=0; repetition < numberOfExperimentRepetitions; repetition++) {
    System.out.println("String_Node_Str" + (repetition + 1) + "String_Node_Str");
    ErrorEstimationMethod[] errorEstimationMethods=new ErrorEstimationMethod[]{ErrorEstimationMethod.BAYESIAN_COMBINATION_OF_CLASSIFIERS,ErrorEstimationMethod.AR_2,ErrorEstimationMethod.ERROR_ESTIMATION_GM,ErrorEstimationMethod.COUPLED_ERROR_ESTIMATION_GM};
    Double[] alphaValues=new Double[]{1e3,1e4,1e5,1e6,1e7};
    Double[] gammaValues=new Double[]{1e-1,1e0};
    runExperiments(loggingLevel,domainNames,errorEstimationMethods,alphaValues,gammaValues,functionOutputs,trueLabels,evaluationFunctionOutputs,results);
  }
  System.out.println("String_Node_Str");
  Map<ErrorEstimationMethod,double[]> errorRateMADStatistics=results.getErrorRatesMADStatistics();
  Map<ErrorEstimationMethod,double[]> labelMADStatistics=results.getLabelMADStatistics();
  for (  ErrorEstimationMethod method : results.getMethods()) {
    System.out.println(String.format(method.name() + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str",errorRateMADStatistics.get(method)[0],errorRateMADStatistics.get(method)[1],labelMADStatistics.get(method)[0],labelMADStatistics.get(method)[1]));
  }
  System.out.println("String_Node_Str");
}

Fixed version (ground truth):
public static void main(String[] args){
  int numberOfExperimentRepetitions=10;
  int loggingLevel=2;
  String filename=args[0];
  String separator="String_Node_Str";
  double[] classificationThresholds=new double[]{Double.parseDouble(args[1])};
  List<String> domainNames=new ArrayList<>();
  List<boolean[][]> functionOutputs=new ArrayList<>();
  List<boolean[]> trueLabels=new ArrayList<>();
  List<boolean[][]> evaluationFunctionOutputs=new ArrayList<>();
  for (  File file : new File(filename).listFiles()) {
    if (file.isFile()) {
      DomainData data=parseLabeledDataFromCSVFile(file,separator,classificationThresholds,1,true);
      domainNames.add(data.domainName);
      functionOutputs.add(data.functionOutputs);
      trueLabels.add(data.trueLabels);
      evaluationFunctionOutputs.add(data.evaluationFunctionOutputs);
    }
  }
  CombinedResults results=new CombinedResults();
  for (int repetition=0; repetition < numberOfExperimentRepetitions; repetition++) {
    System.out.println("String_Node_Str" + (repetition + 1) + "String_Node_Str");
    ErrorEstimationMethod[] errorEstimationMethods=new ErrorEstimationMethod[]{ErrorEstimationMethod.HIERARCHICAL_COUPLED_ERROR_ESTIMATION_GM};
    Double[] alphaValues=new Double[]{1e-4,1e-3,1e-2,1e-1,1e0,1e1,1e2,1e3,1e4};
    Double[] gammaValues=new Double[]{1e-4,1e-3,1e-2,1e-1,1e0,1e1,1e2,1e3,1e4};
    runExperiments(loggingLevel,domainNames,errorEstimationMethods,alphaValues,gammaValues,functionOutputs,trueLabels,evaluationFunctionOutputs,results);
  }
  System.out.println("String_Node_Str");
  Map<ErrorEstimationMethod,double[]> errorRateMADStatistics=results.getErrorRatesMADStatistics();
  Map<ErrorEstimationMethod,double[]> labelMADStatistics=results.getLabelMADStatistics();
  for (  ErrorEstimationMethod method : results.getMethods()) {
    System.out.println(String.format(method.name() + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str",errorRateMADStatistics.get(method)[0],errorRateMADStatistics.get(method)[1],labelMADStatistics.get(method)[0],labelMADStatistics.get(method)[1]));
  }
  System.out.println("String_Node_Str");
}