Program: 32030
Project: 32030
Buggy source:
@Override public void load(GuaguaWritableAdapter<LongWritable> currentKey,GuaguaWritableAdapter<Text> currentValue,WorkerContext<DTMasterParams,DTWorkerParams> context){
  this.count+=1;
  if ((this.count) % 100000 == 0) {
    LOG.info("String_Node_Str",this.count);
  }
  float[] numericInputs=new float[this.numericInputCount];
  String[] categoricalInputs=new String[this.categoricalInputCount];
  float ideal=0f;
  float significance=1f;
  int index=0, numericInputsIndex=0, categoricalInputsIndex=0;
  for (  String input : DEFAULT_SPLITTER.split(currentValue.getWritable().toString())) {
    float floatValue=NumberFormatUtils.getFloat(input,0f);
    if (Float.isNaN(floatValue) || Double.isNaN(floatValue)) {
      floatValue=0f;
    }
    if (index == this.columnConfigList.size()) {
      significance=NumberFormatUtils.getFloat(input,1f);
      break;
    }
 else {
      ColumnConfig columnConfig=this.columnConfigList.get(index);
      if (columnConfig != null && columnConfig.isTarget()) {
        ideal=floatValue;
      }
 else {
        if (!isAfterVarSelect) {
          if (!columnConfig.isMeta() && !columnConfig.isTarget() && CommonUtils.isGoodCandidate(columnConfig)) {
            if (columnConfig.isNumerical()) {
              numericInputs[numericInputsIndex]=floatValue;
              this.numericInputIndexMap.put(columnConfig.getColumnNum(),numericInputsIndex);
              numericInputsIndex+=1;
            }
 else             if (columnConfig.isCategorical()) {
              if (input == null) {
                categoricalInputs[categoricalInputsIndex]="String_Node_Str";
              }
 else {
                categoricalInputs[categoricalInputsIndex]=input;
              }
              this.categoricalInputIndexMap.put(columnConfig.getColumnNum(),categoricalInputsIndex);
              categoricalInputsIndex+=1;
            }
          }
        }
 else {
          if (columnConfig != null && !columnConfig.isMeta() && !columnConfig.isTarget() && columnConfig.isFinalSelect()) {
            if (columnConfig.isNumerical()) {
              numericInputs[numericInputsIndex]=floatValue;
              this.numericInputIndexMap.put(columnConfig.getColumnNum(),numericInputsIndex);
              numericInputsIndex+=1;
            }
 else             if (columnConfig.isCategorical()) {
              if (input == null) {
                categoricalInputs[categoricalInputsIndex]="String_Node_Str";
              }
 else {
                categoricalInputs[categoricalInputsIndex]=input;
              }
              this.categoricalInputIndexMap.put(columnConfig.getColumnNum(),categoricalInputsIndex);
              categoricalInputsIndex+=1;
            }
          }
        }
      }
    }
    index+=1;
  }
  if (this.isOneVsAll) {
    ideal=updateOneVsAllTargetValue(ideal);
  }
  float output=ideal;
  float predict=ideal;
  Data data=new Data(numericInputs,categoricalInputs,predict,output,output,significance,sampleWeights());
  boolean isNeedFailOver=!context.isFirstIteration();
  if (isNeedFailOver && this.isGBDT) {
    recoverGBTData(context,output,predict,data);
  }
  this.trainingData.append(data);
}

Fixed version (ground truth):
@Override public void load(GuaguaWritableAdapter<LongWritable> currentKey,GuaguaWritableAdapter<Text> currentValue,WorkerContext<DTMasterParams,DTWorkerParams> context){
  this.count+=1;
  if ((this.count) % 2000 == 0) {
    LOG.info("String_Node_Str",this.count);
  }
  float[] numericInputs=new float[this.numericInputCount];
  String[] categoricalInputs=new String[this.categoricalInputCount];
  float ideal=0f;
  float significance=1f;
  int index=0, numericInputsIndex=0, categoricalInputsIndex=0;
  for (  String input : DEFAULT_SPLITTER.split(currentValue.getWritable().toString())) {
    float floatValue=0f;
    if (input.length() == 0) {
      floatValue=0f;
    }
 else {
      floatValue=NumberFormatUtils.getFloat(input,0f);
    }
    if (Float.isNaN(floatValue) || Double.isNaN(floatValue)) {
      floatValue=0f;
    }
    if (index == this.columnConfigList.size()) {
      if (input.length() == 0) {
        significance=1f;
      }
 else {
        significance=NumberFormatUtils.getFloat(input,1f);
      }
      break;
    }
 else {
      ColumnConfig columnConfig=this.columnConfigList.get(index);
      if (columnConfig != null && columnConfig.isTarget()) {
        ideal=floatValue;
      }
 else {
        if (!isAfterVarSelect) {
          if (!columnConfig.isMeta() && !columnConfig.isTarget() && CommonUtils.isGoodCandidate(columnConfig)) {
            if (columnConfig.isNumerical()) {
              numericInputs[numericInputsIndex]=floatValue;
              this.numericInputIndexMap.put(columnConfig.getColumnNum(),numericInputsIndex);
              numericInputsIndex+=1;
            }
 else             if (columnConfig.isCategorical()) {
              if (input == null || input.length() == 0) {
                categoricalInputs[categoricalInputsIndex]="String_Node_Str";
              }
 else {
                categoricalInputs[categoricalInputsIndex]=input;
              }
              this.categoricalInputIndexMap.put(columnConfig.getColumnNum(),categoricalInputsIndex);
              categoricalInputsIndex+=1;
            }
          }
        }
 else {
          if (columnConfig != null && !columnConfig.isMeta() && !columnConfig.isTarget() && columnConfig.isFinalSelect()) {
            if (columnConfig.isNumerical()) {
              numericInputs[numericInputsIndex]=floatValue;
              this.numericInputIndexMap.put(columnConfig.getColumnNum(),numericInputsIndex);
              numericInputsIndex+=1;
            }
 else             if (columnConfig.isCategorical()) {
              if (input == null || input.length() == 0) {
                categoricalInputs[categoricalInputsIndex]="String_Node_Str";
              }
 else {
                categoricalInputs[categoricalInputsIndex]=input;
              }
              this.categoricalInputIndexMap.put(columnConfig.getColumnNum(),categoricalInputsIndex);
              categoricalInputsIndex+=1;
            }
          }
        }
      }
    }
    index+=1;
  }
  if (this.isOneVsAll) {
    ideal=updateOneVsAllTargetValue(ideal);
  }
  float output=ideal;
  float predict=ideal;
  Data data=new Data(numericInputs,categoricalInputs,predict,output,output,significance,sampleWeights());
  boolean isNeedFailOver=!context.isFirstIteration();
  if (isNeedFailOver && this.isGBDT) {
    recoverGBTData(context,output,predict,data);
  }
  this.trainingData.append(data);
}