Program: 128544
Project: 128544
Buggy source:
public void sendMessages(){
  for (  String curKey : keysList) {
    StatBean sb=processStats.get(curKey);
    int jobStat=sb.getJobStat();
    if (jobStat == JOBDEFAULT) {
      str.delete(0,str.length());
      str=str.append(TYPE1_CONNECTION + "String_Node_Str" + rootPid+ "String_Node_Str"+ fatherPid+ "String_Node_Str"+ pid+ "String_Node_Str").append(sb.getConnectionId());
      if (sb.getState() == RunStat.CLEAR) {
        str.append("String_Node_Str" + "String_Node_Str");
      }
 else {
        if (sb.getExec() == null) {
          str.append("String_Node_Str").append(sb.getNbLine()).append("String_Node_Str").append(sb.getEndTime() - sb.getStartTime());
        }
 else {
          str.append("String_Node_Str").append(sb.getExec());
        }
        if (sb.getState() != RunStat.RUNNING) {
          str.append("String_Node_Str" + ((sb.getState() == RunStat.BEGIN) ? "String_Node_Str" : "String_Node_Str"));
        }
      }
    }
 else {
      SimpleDateFormat simpleDateFormat=new SimpleDateFormat("String_Node_Str");
      String jobStatStr="String_Node_Str";
      String itemId=sb.getItemId();
      itemId=itemId == null ? "String_Node_Str" : itemId;
      if (jobStat == JOBSTART) {
        jobStatStr=jobName + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ itemId+ "String_Node_Str"+ simpleDateFormat.format(new Date(sb.getStartTime()));
      }
 else       if (jobStat == JOBEND) {
        jobStatStr=jobName + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ itemId+ "String_Node_Str"+ simpleDateFormat.format(new Date(sb.getEndTime()));
      }
      str.delete(0,str.length());
      str.append(TYPE0_JOB + "String_Node_Str" + rootPid+ "String_Node_Str"+ fatherPid+ "String_Node_Str"+ pid+ "String_Node_Str").append(jobStatStr);
    }
    pred.println(str.toString());
  }
  keysList.clear();
}

Fixed version (ground truth):
public void sendMessages(){
  for (  String curKey : keysList) {
    StatBean sb=processStats.get(curKey);
    int jobStat=sb.getJobStat();
    if (jobStat == JOBDEFAULT) {
      str=TYPE1_CONNECTION + "String_Node_Str" + rootPid+ "String_Node_Str"+ fatherPid+ "String_Node_Str"+ pid+ "String_Node_Str"+ sb.getConnectionId();
      if (sb.getState() == RunStat.CLEAR) {
        str+="String_Node_Str" + "String_Node_Str";
      }
 else {
        if (sb.getExec() == null) {
          str+="String_Node_Str" + sb.getNbLine() + "String_Node_Str"+ (sb.getEndTime() - sb.getStartTime());
        }
 else {
          str+="String_Node_Str" + sb.getExec();
        }
        if (sb.getState() != RunStat.RUNNING) {
          str+="String_Node_Str" + ((sb.getState() == RunStat.BEGIN) ? "String_Node_Str" : "String_Node_Str");
        }
      }
    }
 else {
      SimpleDateFormat simpleDateFormat=new SimpleDateFormat("String_Node_Str");
      String jobStatStr="String_Node_Str";
      String itemId=sb.getItemId();
      itemId=itemId == null ? "String_Node_Str" : itemId;
      if (jobStat == JOBSTART) {
        jobStatStr=jobName + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ itemId+ "String_Node_Str"+ simpleDateFormat.format(new Date(sb.getStartTime()));
      }
 else       if (jobStat == JOBEND) {
        jobStatStr=jobName + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ itemId+ "String_Node_Str"+ simpleDateFormat.format(new Date(sb.getEndTime()));
      }
      str=TYPE0_JOB + "String_Node_Str" + rootPid+ "String_Node_Str"+ fatherPid+ "String_Node_Str"+ pid+ "String_Node_Str"+ jobStatStr;
    }
    pred.println(str);
  }
  keysList.clear();
}