Program: 32062
Project: 32062
Buggy source:
/** 
 * run mapreduce stats
 * @throws IOException
 */
private void runMapRedStats() throws IOException {
  log.info("String_Node_Str");
  ShifuFileUtils.deleteFile(pathFinder.getPreTrainingStatsPath(),modelConfig.getDataSet().getSource());
  Map<String,String> paramsMap=new HashMap<String,String>();
  paramsMap.put("String_Node_Str",CommonUtils.escapePigString(modelConfig.getDataSetDelimiter()));
  if (columnConfigList.size() <= 1000) {
    paramsMap.put("String_Node_Str",Integer.toString(columnConfigList.size() / 5));
  }
 else {
    paramsMap.put("String_Node_Str",Integer.toString(columnConfigList.size() / 4));
  }
  paramsMap.put("String_Node_Str",Environment.getProperty("String_Node_Str","String_Node_Str"));
  try {
    log.info("String_Node_Str",modelConfig.getBinningAlgorithm().toString());
    if (modelConfig.getBinningAlgorithm().equals(ModelStatsConf.BinningAlgorithm.MunroPat)) {
      PigExecutor.getExecutor().submitJob(modelConfig,pathFinder.getAbsolutePath("String_Node_Str"),paramsMap);
    }
 else     if (modelConfig.getBinningAlgorithm().equals(ModelStatsConf.BinningAlgorithm.SPDT)) {
      PigExecutor.getExecutor().submitJob(modelConfig,pathFinder.getAbsolutePath("String_Node_Str"),paramsMap);
    }
 else     if (modelConfig.getBinningAlgorithm().equals(ModelStatsConf.BinningAlgorithm.SPDTI)) {
      paramsMap.put("String_Node_Str",Integer.toString(columnConfigList.size() / (5 * 8)));
      ShifuFileUtils.deleteFile(pathFinder.getUpdatedBinningInfoPath(modelConfig.getDataSet().getSource()),modelConfig.getDataSet().getSource());
      PigExecutor.getExecutor().submitJob(modelConfig,pathFinder.getAbsolutePath("String_Node_Str"),paramsMap);
      log.info("String_Node_Str");
      updateBinningInfoWithMRJob();
    }
 else     if (modelConfig.getBinningAlgorithm().equals(ModelStatsConf.BinningAlgorithm.MunroPatI)) {
      ShifuFileUtils.deleteFile(pathFinder.getUpdatedBinningInfoPath(modelConfig.getDataSet().getSource()),modelConfig.getDataSet().getSource());
      PigExecutor.getExecutor().submitJob(modelConfig,pathFinder.getAbsolutePath("String_Node_Str"),paramsMap);
      log.info("String_Node_Str");
      updateBinningInfoWithMRJob();
    }
  }
 catch (  IOException e) {
    throw new ShifuException(ShifuErrorCode.ERROR_RUNNING_PIG_JOB,e);
  }
catch (  Throwable e) {
    throw new RuntimeException(e);
  }
  log.info("String_Node_Str");
  updateColumnConfigWithPreTrainingStats();
  saveColumnConfigListAndColumnStats(true);
  syncDataToHdfs(modelConfig.getDataSet().getSource());
  runPSI();
  saveColumnConfigListAndColumnStats(true);
  syncDataToHdfs(modelConfig.getDataSet().getSource());
}

Fixed version (ground truth):
/** 
 * run mapreduce stats
 * @throws IOException
 */
private void runMapRedStats() throws IOException {
  log.info("String_Node_Str");
  ShifuFileUtils.deleteFile(pathFinder.getPreTrainingStatsPath(),modelConfig.getDataSet().getSource());
  Map<String,String> paramsMap=new HashMap<String,String>();
  paramsMap.put("String_Node_Str",CommonUtils.escapePigString(modelConfig.getDataSetDelimiter()));
  if (columnConfigList.size() <= 1000) {
    paramsMap.put("String_Node_Str",Integer.toString(columnConfigList.size() / 5));
  }
 else {
    paramsMap.put("String_Node_Str",Integer.toString(columnConfigList.size() / 4));
  }
  paramsMap.put("String_Node_Str",Environment.getProperty("String_Node_Str","String_Node_Str"));
  try {
    log.info("String_Node_Str",modelConfig.getBinningAlgorithm().toString());
    if (modelConfig.getBinningAlgorithm().equals(ModelStatsConf.BinningAlgorithm.MunroPat)) {
      PigExecutor.getExecutor().submitJob(modelConfig,pathFinder.getAbsolutePath("String_Node_Str"),paramsMap);
    }
 else     if (modelConfig.getBinningAlgorithm().equals(ModelStatsConf.BinningAlgorithm.SPDT)) {
      PigExecutor.getExecutor().submitJob(modelConfig,pathFinder.getAbsolutePath("String_Node_Str"),paramsMap);
    }
 else     if (modelConfig.getBinningAlgorithm().equals(ModelStatsConf.BinningAlgorithm.SPDTI)) {
      paramsMap.put("String_Node_Str",Integer.toString(columnConfigList.size() / (5 * 8)));
      ShifuFileUtils.deleteFile(pathFinder.getUpdatedBinningInfoPath(modelConfig.getDataSet().getSource()),modelConfig.getDataSet().getSource());
      PigExecutor.getExecutor().submitJob(modelConfig,pathFinder.getAbsolutePath("String_Node_Str"),paramsMap);
      log.info("String_Node_Str");
      updateBinningInfoWithMRJob();
    }
 else     if (modelConfig.getBinningAlgorithm().equals(ModelStatsConf.BinningAlgorithm.MunroPatI)) {
      ShifuFileUtils.deleteFile(pathFinder.getUpdatedBinningInfoPath(modelConfig.getDataSet().getSource()),modelConfig.getDataSet().getSource());
      PigExecutor.getExecutor().submitJob(modelConfig,pathFinder.getAbsolutePath("String_Node_Str"),paramsMap);
      log.info("String_Node_Str");
      updateBinningInfoWithMRJob();
    }
  }
 catch (  IOException e) {
    throw new ShifuException(ShifuErrorCode.ERROR_RUNNING_PIG_JOB,e);
  }
catch (  Throwable e) {
    throw new RuntimeException(e);
  }
  log.info("String_Node_Str");
  updateColumnConfigWithPreTrainingStats();
  saveColumnConfigListAndColumnStats(true);
  syncDataToHdfs(modelConfig.getDataSet().getSource());
  runPSI();
  saveColumnConfigListAndColumnStats(true);
}