Program: 53990
Project: 53990
Buggy source:
/** 
 * @param model
 * @param response
 * @param applicationName
 * @param from
 * @param to
 * @param limit 한번에 조회 할 데이터의 크기, 조회 결과가 이 크기를 넘어가면 limit개만 반환한다. 나머지는 다시 요청해서 조회해야 한다.
 * @return
 */
@RequestMapping(value="String_Node_Str",method=RequestMethod.GET) public String getScatterData(Model model,HttpServletResponse response,@RequestParam("String_Node_Str") String applicationName,@RequestParam("String_Node_Str") long from,@RequestParam("String_Node_Str") long to,@RequestParam("String_Node_Str") int limit,@RequestParam(value="String_Node_Str",required=false) String filterText,@RequestParam(value="String_Node_Str",required=false) String jsonpCallback,@RequestParam(value="String_Node_Str",required=false,defaultValue="String_Node_Str") int version){
  StopWatch watch=new StopWatch();
  watch.start("String_Node_Str");
  List<Dot> scatterData;
  if (filterText == null) {
    scatterData=scatter.selectScatterData(applicationName,from,to,limit);
    if (scatterData.isEmpty()) {
      model.addAttribute("String_Node_Str",-1);
      model.addAttribute("String_Node_Str",-1);
    }
 else {
      model.addAttribute("String_Node_Str",scatterData.get(0).getTimestamp());
      model.addAttribute("String_Node_Str",scatterData.get(scatterData.size() - 1).getTimestamp());
    }
  }
 else {
    List<TraceId> traceIds=scatter.selectScatterTraceIdList(applicationName,from,to,limit);
    if (!traceIds.isEmpty()) {
      model.addAttribute("String_Node_Str",-1);
      model.addAttribute("String_Node_Str",-1);
    }
 else {
      model.addAttribute("String_Node_Str",((TraceIdWithTime)traceIds.get(0)).getAcceptedTime());
      model.addAttribute("String_Node_Str",((TraceIdWithTime)traceIds.get(traceIds.size() - 1)).getAcceptedTime());
    }
    scatterData=scatter.selectScatterData(traceIds,applicationName,FilterBuilder.build(filterText));
  }
  watch.stop();
  logger.info("String_Node_Str",watch.getLastTaskTimeMillis());
  model.addAttribute("String_Node_Str",scatterData);
  if (jsonpCallback == null) {
    return "String_Node_Str" + ((version > 1) ? version : "String_Node_Str");
  }
 else {
    model.addAttribute("String_Node_Str",jsonpCallback);
    return "String_Node_Str" + ((version > 1) ? version : "String_Node_Str");
  }
}

Fixed version (ground truth):
/** 
 * @param model
 * @param response
 * @param applicationName
 * @param from
 * @param to
 * @param limit 한번에 조회 할 데이터의 크기, 조회 결과가 이 크기를 넘어가면 limit개만 반환한다. 나머지는 다시 요청해서 조회해야 한다.
 * @return
 */
@RequestMapping(value="String_Node_Str",method=RequestMethod.GET) public String getScatterData(Model model,HttpServletResponse response,@RequestParam("String_Node_Str") String applicationName,@RequestParam("String_Node_Str") long from,@RequestParam("String_Node_Str") long to,@RequestParam("String_Node_Str") int limit,@RequestParam(value="String_Node_Str",required=false) String filterText,@RequestParam(value="String_Node_Str",required=false) String jsonpCallback,@RequestParam(value="String_Node_Str",required=false,defaultValue="String_Node_Str") int version){
  StopWatch watch=new StopWatch();
  watch.start("String_Node_Str");
  List<Dot> scatterData;
  if (filterText == null) {
    scatterData=scatter.selectScatterData(applicationName,from,to,limit);
    if (scatterData.isEmpty()) {
      model.addAttribute("String_Node_Str",-1);
      model.addAttribute("String_Node_Str",-1);
    }
 else {
      model.addAttribute("String_Node_Str",scatterData.get(0).getTimestamp());
      model.addAttribute("String_Node_Str",scatterData.get(scatterData.size() - 1).getTimestamp());
    }
  }
 else {
    List<TraceId> traceIds=scatter.selectScatterTraceIdList(applicationName,from,to,limit);
    if (traceIds.isEmpty()) {
      model.addAttribute("String_Node_Str",-1);
      model.addAttribute("String_Node_Str",-1);
    }
 else {
      model.addAttribute("String_Node_Str",((TraceIdWithTime)traceIds.get(0)).getAcceptedTime());
      model.addAttribute("String_Node_Str",((TraceIdWithTime)traceIds.get(traceIds.size() - 1)).getAcceptedTime());
    }
    scatterData=scatter.selectScatterData(traceIds,applicationName,FilterBuilder.build(filterText));
  }
  watch.stop();
  logger.info("String_Node_Str",watch.getLastTaskTimeMillis());
  model.addAttribute("String_Node_Str",scatterData);
  if (jsonpCallback == null) {
    return "String_Node_Str" + ((version > 1) ? version : "String_Node_Str");
  }
 else {
    model.addAttribute("String_Node_Str",jsonpCallback);
    return "String_Node_Str" + ((version > 1) ? version : "String_Node_Str");
  }
}