Program: 32223
Project: 32223
Buggy source:
/** 
 * check algorithm parameter
 * @throws Exception </p>modelConfig is not loaded or</p> save ModelConfig.json file error </p>
 */
public void checkAlgorithmParam() throws Exception {
  String alg=modelConfig.getAlgorithm();
  Map<String,Object> param=modelConfig.getParams();
  log.info("String_Node_Str");
  if (alg.equalsIgnoreCase("String_Node_Str")) {
    if (!param.containsKey("String_Node_Str")) {
      param=new LinkedHashMap<String,Object>();
      param.put("String_Node_Str",0.1);
      modelConfig.setParams(param);
      saveModelConfig();
    }
  }
 else   if (alg.equalsIgnoreCase("String_Node_Str")) {
    if (!param.containsKey("String_Node_Str")) {
      param=new LinkedHashMap<String,Object>();
      param.put("String_Node_Str","String_Node_Str");
      param.put("String_Node_Str",0.1);
      param.put("String_Node_Str",2);
      List<Integer> nodes=new ArrayList<Integer>();
      nodes.add(20);
      nodes.add(10);
      param.put("String_Node_Str",nodes);
      List<String> func=new ArrayList<String>();
      func.add("String_Node_Str");
      func.add("String_Node_Str");
      param.put("String_Node_Str",func);
      modelConfig.setParams(param);
      saveModelConfig();
    }
  }
 else   if (alg.equalsIgnoreCase("String_Node_Str")) {
    if (!param.containsKey("String_Node_Str")) {
      param=new LinkedHashMap<String,Object>();
      param.put("String_Node_Str","String_Node_Str");
      param.put("String_Node_Str",1.);
      param.put("String_Node_Str",1.);
      modelConfig.setParams(param);
      saveModelConfig();
    }
  }
 else   if (alg.equalsIgnoreCase("String_Node_Str")) {
  }
 else {
    throw new ShifuException(ShifuErrorCode.ERROR_UNSUPPORT_ALG);
  }
  log.info("String_Node_Str");
}

Fixed version (ground truth):
/** 
 * check algorithm parameter
 * @throws Exception </p>modelConfig is not loaded or</p> save ModelConfig.json file error </p>
 */
public void checkAlgorithmParam() throws Exception {
  String alg=modelConfig.getAlgorithm();
  Map<String,Object> param=modelConfig.getParams();
  log.info("String_Node_Str");
  if (alg.equalsIgnoreCase("String_Node_Str")) {
    if (!param.containsKey("String_Node_Str")) {
      param=new LinkedHashMap<String,Object>();
      param.put("String_Node_Str",0.1);
      modelConfig.setParams(param);
      saveModelConfig();
    }
  }
 else   if (alg.equalsIgnoreCase("String_Node_Str")) {
    if (!param.containsKey("String_Node_Str")) {
      param=new LinkedHashMap<String,Object>();
      param.put("String_Node_Str","String_Node_Str");
      param.put("String_Node_Str",0.1);
      param.put("String_Node_Str",2);
      List<Integer> nodes=new ArrayList<Integer>();
      nodes.add(20);
      nodes.add(10);
      param.put("String_Node_Str",nodes);
      List<String> func=new ArrayList<String>();
      func.add("String_Node_Str");
      func.add("String_Node_Str");
      param.put("String_Node_Str",func);
      modelConfig.setParams(param);
      saveModelConfig();
    }
  }
 else   if (alg.equalsIgnoreCase("String_Node_Str")) {
    if (!param.containsKey("String_Node_Str")) {
      param=new LinkedHashMap<String,Object>();
      param.put("String_Node_Str","String_Node_Str");
      param.put("String_Node_Str",1.);
      param.put("String_Node_Str",1.);
      modelConfig.setParams(param);
      saveModelConfig();
    }
  }
 else   if (alg.equalsIgnoreCase("String_Node_Str")) {
  }
 else {
    throw new ShifuException(ShifuErrorCode.ERROR_UNSUPPORT_ALG);
  }
}