Program: 66705
Project: 66705
Buggy source:
private void getDsMinMax(){
  double calcMin=Double.MAX_VALUE;
  double calcMax=Double.MIN_VALUE;
  if (!getFirstSeries().isSetRadarAutoScale() || getFirstSeries().isRadarAutoScale()) {
    autoscale=true;
  }
 else {
    double taxisMin=getFirstSeries().getWebLabelMin();
    double taxisMax=getFirstSeries().getWebLabelMax();
    if ((taxisMax - taxisMin) == 0.0) {
      autoscale=true;
    }
  }
  PluginSettings ps=PluginSettings.instance();
  IDataSetProcessor iDSP=null;
  DataSet dst;
  EList<SeriesDefinition> el=((ChartWithoutAxes)getModel()).getSeriesDefinitions();
  ArrayList<Series> al=new ArrayList<Series>();
  ((ChartWithoutAxesImpl)getModel()).recursivelyGetSeries(el,al,0,0);
  final Series[] sea=al.toArray(new Series[al.size()]);
  for (int i=0; i < sea.length; i++) {
    try {
      iDSP=ps.getDataSetProcessor(sea[i].getClass());
      dst=sea[i].getDataSet();
      Double min=((Number)iDSP.getMinimum(dst)).doubleValue();
      Double max=((Number)iDSP.getMaximum(dst)).doubleValue();
      if (min != null && min < calcMin) {
        calcMin=min;
      }
      if (max != null && max > calcMax) {
        calcMax=max;
      }
    }
 catch (    Exception e) {
      e.printStackTrace();
    }
  }
  if (autoscale) {
    this.axisMin=calcMin;
    this.axisMax=calcMax;
  }
 else {
    if (getFirstSeries().getWebLabelMin() > calcMin) {
      this.axisMin=calcMin;
    }
 else {
      this.axisMin=getFirstSeries().getWebLabelMin();
    }
    if (getFirstSeries().getWebLabelMax() < calcMax) {
      this.axisMax=calcMax;
    }
 else {
      this.axisMax=getFirstSeries().getWebLabelMax();
    }
  }
}

Fixed version (ground truth):
private void getDsMinMax() throws ChartException {
  double calcMin=Double.MAX_VALUE;
  double calcMax=Double.MIN_VALUE;
  if (!getFirstSeries().isSetRadarAutoScale() || getFirstSeries().isRadarAutoScale()) {
    autoscale=true;
  }
 else {
    double taxisMin=getFirstSeries().getWebLabelMin();
    double taxisMax=getFirstSeries().getWebLabelMax();
    if ((taxisMax - taxisMin) == 0.0) {
      autoscale=true;
    }
  }
  PluginSettings ps=PluginSettings.instance();
  IDataSetProcessor iDSP=null;
  DataSet dst;
  EList<SeriesDefinition> el=((ChartWithoutAxes)getModel()).getSeriesDefinitions();
  ArrayList<Series> al=new ArrayList<Series>();
  ((ChartWithoutAxesImpl)getModel()).recursivelyGetSeries(el,al,0,0);
  final Series[] sea=al.toArray(new Series[al.size()]);
  for (int i=0; i < sea.length; i++) {
    iDSP=ps.getDataSetProcessor(sea[i].getClass());
    dst=sea[i].getDataSet();
    Double min=((Number)iDSP.getMinimum(dst)).doubleValue();
    Double max=((Number)iDSP.getMaximum(dst)).doubleValue();
    if (min != null && min < calcMin) {
      calcMin=min;
    }
    if (max != null && max > calcMax) {
      calcMax=max;
    }
  }
  if (autoscale) {
    this.axisMin=calcMin;
    this.axisMax=calcMax;
  }
 else {
    if (getFirstSeries().getWebLabelMin() > calcMin) {
      this.axisMin=calcMin;
    }
 else {
      this.axisMin=getFirstSeries().getWebLabelMin();
    }
    if (getFirstSeries().getWebLabelMax() < calcMax) {
      this.axisMax=calcMax;
    }
 else {
      this.axisMax=getFirstSeries().getWebLabelMax();
    }
  }
}