Program: 26473
Project: 26473
Buggy source:
@Override protected Object getEnabledValueAt(int row,int column){
  DataTuple tuple=null;
  String seriesName="String_Node_Str";
  boolean graphDataOnly=false;
  if (dataset instanceof DataTupleCategoryDataset) {
    DataTupleCategoryDataset d=(DataTupleCategoryDataset)dataset;
    int columnCount=d.containsIntervals() ? d.getRowCount() : d.getColumnCount();
    int datasetRow=row / columnCount;
    int datasetColumn=row % columnCount;
    tuple=d.getTuple(datasetRow,datasetColumn);
    if (d.containsIntervals()) {
      seriesName=d.getRowKey(datasetColumn).toString();
    }
 else {
      if (d.categoriesHaveDifferentStats()) {
        seriesName=d.getColumnKey(datasetColumn).toString();
      }
 else {
        seriesName=d.getColumnKey(datasetColumn).toString() + "String_Node_Str" + d.getRowKey(datasetRow).toString();
      }
    }
    graphDataOnly=d.containsIntervals();
  }
 else   if (dataset instanceof DataTupleXYDataset) {
    DataTupleXYDataset d=(DataTupleXYDataset)dataset;
    tuple=d.getTuple(row,-1);
    seriesName=d.getSeriesKey(row).toString();
  }
 else   if (dataset instanceof DataTupleHistogramDataset) {
    DataTupleHistogramDataset d=(DataTupleHistogramDataset)dataset;
    tuple=d.getTuple(row,-1);
    seriesName=d.getSeriesKey(row).toString();
  }
  AnalysisRecord analysis=null;
  if (!graphDataOnly) {
    analysis=gui.getAnalysis(tuple.getDataSet());
  }
switch (column) {
case 0:
    return rowVisible[row];
case 1:
  return tuple.getDataSet().getHostname();
case 2:
return tuple.getDataType().toString();
case 3:
return tuple.getField();
case 4:
return seriesName;
case 5:
return graphDataOnly ? dataset.getMinimum(row) : analysis.getMinimum(tuple.getDataType(),tuple.getField());
case 6:
return graphDataOnly ? dataset.getAverage(row) : analysis.getAverage(tuple.getDataType(),tuple.getField());
case 7:
return graphDataOnly ? dataset.getMaximum(row) : analysis.getMaximum(tuple.getDataType(),tuple.getField());
case 8:
return graphDataOnly ? dataset.getStandardDeviation(row) : analysis.getStandardDeviation(tuple.getDataType(),tuple.getField());
case 9:
return graphDataOnly ? dataset.getMedian(row) : analysis.getMedian(tuple.getDataType(),tuple.getField());
case 10:
return graphDataOnly ? dataset.get95thPercentile(row) : analysis.get95thPercentile(tuple.getDataType(),tuple.getField());
case 11:
return graphDataOnly ? dataset.get99thPercentile(row) : analysis.get99thPercentile(tuple.getDataType(),tuple.getField());
case 12:
return graphDataOnly ? dataset.getSum(row) : analysis.getSum(tuple.getDataType(),tuple.getField());
case 13:
return graphDataOnly ? dataset.getCount(row) : analysis.getCount(tuple.getDataType(),tuple.getField());
case 14:
return dataset.getMinimum(row);
case 15:
return dataset.getAverage(row);
case 16:
return dataset.getMaximum(row);
case 17:
return dataset.getStandardDeviation(row);
case 18:
return dataset.getMedian(row);
case 19:
return dataset.get95thPercentile(row);
case 20:
return dataset.get99thPercentile(row);
case 21:
return dataset.getSum(row);
case 22:
return dataset.getCount(row);
default :
throw new ArrayIndexOutOfBoundsException(column);
}
}

Fixed version (ground truth):
@Override protected Object getEnabledValueAt(int row,int column){
  DataTuple tuple=null;
  String seriesName="String_Node_Str";
  boolean graphDataOnly=false;
  if (dataset instanceof DataTupleCategoryDataset) {
    DataTupleCategoryDataset d=(DataTupleCategoryDataset)dataset;
    int columnCount=d.containsIntervals() ? d.getRowCount() : d.getColumnCount();
    int datasetRow=row / columnCount;
    int datasetColumn=row % columnCount;
    tuple=d.getTuple(datasetRow,datasetColumn);
    if (d.containsIntervals()) {
      seriesName=d.getRowKey(datasetColumn).toString();
    }
 else {
      if (d.categoriesHaveDifferentStats()) {
        seriesName=d.getColumnKey(datasetColumn).toString();
      }
 else {
        seriesName=d.getColumnKey(datasetColumn).toString() + "String_Node_Str" + d.getRowKey(datasetRow).toString();
      }
    }
    graphDataOnly=d.containsIntervals();
  }
 else   if (dataset instanceof DataTupleXYDataset) {
    DataTupleXYDataset d=(DataTupleXYDataset)dataset;
    tuple=d.getTuple(row,-1);
    seriesName=d.getSeriesKey(row).toString();
  }
 else   if (dataset instanceof DataTupleHistogramDataset) {
    DataTupleHistogramDataset d=(DataTupleHistogramDataset)dataset;
    tuple=d.getTuple(row,-1);
    seriesName=d.getSeriesKey(row).toString();
  }
  AnalysisRecord analysis=null;
  if (tuple == null) {
    tuple=NULL_TUPLE;
    analysis=NULL_ANALYSIS;
  }
 else {
    if (!graphDataOnly) {
      analysis=gui.getAnalysis(tuple.getDataSet());
    }
  }
switch (column) {
case 0:
    return rowVisible[row];
case 1:
  return tuple.getDataSet().getHostname();
case 2:
return tuple.getDataType().toString();
case 3:
return tuple.getField();
case 4:
return seriesName;
case 5:
return graphDataOnly ? dataset.getMinimum(row) : analysis.getMinimum(tuple.getDataType(),tuple.getField());
case 6:
return graphDataOnly ? dataset.getAverage(row) : analysis.getAverage(tuple.getDataType(),tuple.getField());
case 7:
return graphDataOnly ? dataset.getMaximum(row) : analysis.getMaximum(tuple.getDataType(),tuple.getField());
case 8:
return graphDataOnly ? dataset.getStandardDeviation(row) : analysis.getStandardDeviation(tuple.getDataType(),tuple.getField());
case 9:
return graphDataOnly ? dataset.getMedian(row) : analysis.getMedian(tuple.getDataType(),tuple.getField());
case 10:
return graphDataOnly ? dataset.get95thPercentile(row) : analysis.get95thPercentile(tuple.getDataType(),tuple.getField());
case 11:
return graphDataOnly ? dataset.get99thPercentile(row) : analysis.get99thPercentile(tuple.getDataType(),tuple.getField());
case 12:
return graphDataOnly ? dataset.getSum(row) : analysis.getSum(tuple.getDataType(),tuple.getField());
case 13:
return graphDataOnly ? dataset.getCount(row) : analysis.getCount(tuple.getDataType(),tuple.getField());
case 14:
return dataset.getMinimum(row);
case 15:
return dataset.getAverage(row);
case 16:
return dataset.getMaximum(row);
case 17:
return dataset.getStandardDeviation(row);
case 18:
return dataset.getMedian(row);
case 19:
return dataset.get95thPercentile(row);
case 20:
return dataset.get99thPercentile(row);
case 21:
return dataset.getSum(row);
case 22:
return dataset.getCount(row);
default :
throw new ArrayIndexOutOfBoundsException(column);
}
}