Program: 107850
Project: 107850
Buggy source:
@Override public QualityMeasureRowOriented evaluate(){
  try {
    int[] indices=getIndices();
    List<double[]> columns1=new ArrayList<>();
    List<double[]> columns2=new ArrayList<>();
    List<Double> stdDevs=new ArrayList<>();
    String[][][] hierarchies=getHierarchies();
    for (int index=0; index < indices.length; index++) {
      try {
        int column=indices[index];
        double[][] columnsAsNumbers=getColumnsAsNumbers(getInput(),getOutput(),hierarchies[index],column);
        if (columnsAsNumbers != null) {
          double stdDev=getStandardDeviation(columnsAsNumbers[0]);
          columns1.add(columnsAsNumbers[0]);
          columns2.add(columnsAsNumbers[1]);
          stdDevs.add(stdDev);
        }
      }
 catch (      Exception e) {
      }
    }
    if (columns1.isEmpty() || columns2.isEmpty() || stdDevs.isEmpty()) {
      return new QualityMeasureRowOriented();
    }
    double realDistance=getEuclideanDistance(columns1.toArray(new double[columns1.size()][]),columns2.toArray(new double[columns2.size()][]),stdDevs.toArray(new Double[stdDevs.size()]));
    double maxDistance=getEuclideanDistance(columns1.toArray(new double[columns1.size()][]),stdDevs.toArray(new Double[stdDevs.size()]));
    realDistance/=(double)columns1.size();
    realDistance/=(double)getOutput().getNumRows();
    maxDistance/=(double)columns1.size();
    maxDistance/=(double)getOutput().getNumRows();
    return new QualityMeasureRowOriented(0d,realDistance,maxDistance);
  }
 catch (  Exception e) {
    return new QualityMeasureRowOriented();
  }
}

Fixed version (ground truth):
@Override public QualityMeasureRowOriented evaluate(){
  try {
    int[] indices=getIndices();
    List<double[]> columns1=new ArrayList<>();
    List<double[]> columns2=new ArrayList<>();
    List<Double> stdDevs=new ArrayList<>();
    String[][][] hierarchies=getHierarchies();
    for (int index=0; index < indices.length; index++) {
      try {
        int column=indices[index];
        double[][] columnsAsNumbers=getColumnsAsNumbers(getInput(),getOutput(),hierarchies[index],column);
        if (columnsAsNumbers != null) {
          double stdDev=getStandardDeviation(columnsAsNumbers[0]);
          columns1.add(columnsAsNumbers[0]);
          columns2.add(columnsAsNumbers[1]);
          stdDevs.add(stdDev);
        }
      }
 catch (      Exception e) {
      }
    }
    if (columns1.isEmpty() || columns2.isEmpty() || stdDevs.isEmpty()) {
      return new QualityMeasureRowOriented();
    }
    double realDistance=getEuclideanDistance(columns1.toArray(new double[columns1.size()][]),columns2.toArray(new double[columns2.size()][]),stdDevs.toArray(new Double[stdDevs.size()]));
    double maxDistance=getMaximumEuclideanDistance(columns1.toArray(new double[columns1.size()][]),columns2.toArray(new double[columns2.size()][]),stdDevs.toArray(new Double[stdDevs.size()]));
    realDistance/=(double)columns1.size();
    realDistance/=(double)getOutput().getNumRows();
    maxDistance/=(double)columns1.size();
    maxDistance/=(double)getOutput().getNumRows();
    return new QualityMeasureRowOriented(0d,realDistance,maxDistance);
  }
 catch (  Exception e) {
    return new QualityMeasureRowOriented();
  }
}