Program: 31920
Project: 31920
Buggy source:
/** 
 * Run for the variable selection
 */
@Override public int run() throws Exception {
  log.info("String_Node_Str");
  long start=System.currentTimeMillis();
  try {
    prepareSelect();
    if (modelConfig.isRegression()) {
      VariableSelector selector=new VariableSelector(this.modelConfig,this.columnConfigList);
      String filterBy=this.modelConfig.getVarSelectFilterBy();
      if (filterBy.equalsIgnoreCase(Constants.FILTER_BY_KS) || filterBy.equalsIgnoreCase(Constants.FILTER_BY_IV) || filterBy.equalsIgnoreCase(Constants.FILTER_BY_PARETO)|| filterBy.equalsIgnoreCase(Constants.FILTER_BY_MIX)) {
        CommonUtils.updateColumnConfigFlags(modelConfig,columnConfigList);
        this.columnConfigList=selector.selectByFilter();
      }
 else       if (filterBy.equalsIgnoreCase(Constants.FILTER_BY_FI)) {
        selectByFeatureImportance();
      }
 else       if (filterBy.equalsIgnoreCase(Constants.FILTER_BY_SE) || filterBy.equalsIgnoreCase(Constants.FILTER_BY_ST)) {
        distributedSEWrapper();
      }
 else       if (filterBy.equalsIgnoreCase(Constants.FILTER_BY_VOTED)) {
        votedVariablesSelection();
      }
    }
 else {
      for (      ColumnConfig config : this.columnConfigList) {
        if (CommonUtils.isGoodCandidate(modelConfig.isRegression(),config)) {
          config.setFinalSelect(true);
        }
      }
    }
    clearUp(ModelStep.VARSELECT);
  }
 catch (  Exception e) {
    log.error("String_Node_Str",e);
    return -1;
  }
  log.info("String_Node_Str",(System.currentTimeMillis() - start));
  return 0;
}

Fixed version (ground truth):
/** 
 * Run for the variable selection
 */
@Override public int run() throws Exception {
  log.info("String_Node_Str");
  long start=System.currentTimeMillis();
  try {
    setUp(ModelStep.VARSELECT);
    validateParameters();
    if (isToReset) {
      log.info("String_Node_Str");
      resetAllFinalSelect();
    }
 else {
      syncDataToHdfs(super.modelConfig.getDataSet().getSource());
      if (modelConfig.isRegression()) {
        VariableSelector selector=new VariableSelector(this.modelConfig,this.columnConfigList);
        String filterBy=this.modelConfig.getVarSelectFilterBy();
        if (filterBy.equalsIgnoreCase(Constants.FILTER_BY_KS) || filterBy.equalsIgnoreCase(Constants.FILTER_BY_IV) || filterBy.equalsIgnoreCase(Constants.FILTER_BY_PARETO)|| filterBy.equalsIgnoreCase(Constants.FILTER_BY_MIX)) {
          CommonUtils.updateColumnConfigFlags(modelConfig,columnConfigList);
          this.columnConfigList=selector.selectByFilter();
        }
 else         if (filterBy.equalsIgnoreCase(Constants.FILTER_BY_FI)) {
          if (!CommonUtils.isDesicionTreeAlgorithm(modelConfig.getAlgorithm())) {
            throw new IllegalArgumentException("String_Node_Str");
          }
          selectByFeatureImportance();
        }
 else         if (filterBy.equalsIgnoreCase(Constants.FILTER_BY_SE) || filterBy.equalsIgnoreCase(Constants.FILTER_BY_ST)) {
          if (Constants.NN.equalsIgnoreCase(modelConfig.getAlgorithm())) {
            throw new IllegalArgumentException("String_Node_Str");
          }
          distributedSEWrapper();
        }
 else         if (filterBy.equalsIgnoreCase(Constants.FILTER_BY_VOTED)) {
          votedVariablesSelection();
        }
      }
 else {
        for (        ColumnConfig config : this.columnConfigList) {
          if (CommonUtils.isGoodCandidate(modelConfig.isRegression(),config)) {
            config.setFinalSelect(true);
          }
        }
      }
    }
    clearUp(ModelStep.VARSELECT);
  }
 catch (  Exception e) {
    log.error("String_Node_Str",e);
    return -1;
  }
  log.info("String_Node_Str",(System.currentTimeMillis() - start));
  return 0;
}