Program: 88875
Project: 88875
Buggy source:
private String serveJson(String uri,Properties header){
  StringBuffer sb=new StringBuffer("String_Node_Str" + BTCMiner.clusterId + "String_Node_Str");
  Date now=new Date();
  sb.append("String_Node_Str" + now.toString() + "String_Node_Str");
  long uptime=(now.getTime() - BTCMiner.upTime) / 1000;
  sb.append("String_Node_Str" + uptime + "String_Node_Str");
  if (header.getProperty("String_Node_Str") != null) {
    sb.append("String_Node_Str" + header.getProperty("String_Node_Str") + "String_Node_Str");
  }
  if (BTCMiner.cluster == null) {
    sb.append("String_Node_Str");
  }
 else {
    sb.append("String_Node_Str");
    sb.append("String_Node_Str" + refreshTmo + "String_Node_Str");
    if (BTCMiner.longPollURL != null) {
      sb.append("String_Node_Str" + BTCMiner.longPollURL + "String_Node_Str");
    }
 else {
      sb.append("String_Node_Str");
    }
    int server=BTCMiner.rpcCount;
    int backup1=BTCMiner.rpcFirstBackup;
    int backup=0;
    if (backup1 > 0) {
      backup=server - backup1;
    }
    if (server > 0) {
      sb.append("String_Node_Str" + (server - backup) + "String_Node_Str");
      sb.append("String_Node_Str");
      for (int i=0; i < (server - backup); i++) {
        RPC rpc=BTCMiner.rpc[i];
        if (i > 0) {
          sb.append("String_Node_Str");
        }
        String state;
        if (rpc.state) {
          state="String_Node_Str";
        }
 else {
          state="String_Node_Str";
        }
        sb.append("String_Node_Str" + i + "String_Node_Str"+ state+ "String_Node_Str"+ rpc.name+ "String_Node_Str"+ rpc.url+ "String_Node_Str"+ rpc.host+ "String_Node_Str"+ rpc.usr+ "String_Node_Str"+ rpc.pwd+ "String_Node_Str"+ rpc.sharesGetwork+ "String_Node_Str"+ rpc.sharesAccepted+ "String_Node_Str"+ rpc.sharesRejected+ "String_Node_Str"+ String.format("String_Node_Str",rpc.difficulty)+ "String_Node_Str");
      }
      sb.append("String_Node_Str");
    }
    if (backup > 0) {
      sb.append("String_Node_Str" + backup + "String_Node_Str");
      sb.append("String_Node_Str");
      for (int i=backup1; i < server; i++) {
        RPC rpc=BTCMiner.rpc[i];
        if (i > backup1) {
          sb.append("String_Node_Str");
        }
        sb.append("String_Node_Str" + i + "String_Node_Str"+ rpc.name+ "String_Node_Str"+ rpc.url+ "String_Node_Str"+ rpc.host+ "String_Node_Str"+ rpc.usr+ "String_Node_Str"+ rpc.pwd+ "String_Node_Str"+ rpc.sharesGetwork+ "String_Node_Str"+ rpc.sharesAccepted+ "String_Node_Str"+ rpc.sharesRejected+ "String_Node_Str"+ String.format("String_Node_Str",rpc.difficulty)+ "String_Node_Str");
      }
      sb.append("String_Node_Str");
    }
    double hashrate_total=0.0;
    double hashrate_submitted=0.0;
    sb.append("String_Node_Str");
    for (int i=0; ; i++) {
      BTCMiner m=BTCMiner.cluster.getMiner(i);
      if (m == null) {
        break;
      }
      if (i > 0) {
        sb.append("String_Node_Str");
      }
      String state;
      if (!m.isRunning) {
        state="String_Node_Str";
      }
 else       if (m.fatalError != null) {
        state=m.fatalError;
      }
 else       if (m.suspended) {
        state="String_Node_Str";
      }
 else {
        state="String_Node_Str";
      }
      double fr=(m.freqM + 1) * m.freqM1;
      double er=m.errorRate[m.freqM];
      double hr=fr * (1 - er) * m.hashesPerClock;
      hashrate_total+=hr;
      double hs=m.submittedHashRate();
      hashrate_submitted+=hs;
      double lk=hs / hr + 0.0049;
      sb.append("String_Node_Str" + i + "String_Node_Str"+ m.name+ "String_Node_Str"+ state+ "String_Node_Str"+ String.format("String_Node_Str",fr)+ "String_Node_Str"+ String.format("String_Node_Str",hr)+ "String_Node_Str"+ String.format("String_Node_Str",er * 100.0)+ "String_Node_Str"+ String.format("String_Node_Str",m.maxErrorRate[m.freqM] * 100.0)+ "String_Node_Str"+ m.submittedCount+ "String_Node_Str"+ String.format("String_Node_Str",lk)+ "String_Node_Str");
    }
    sb.append("String_Node_Str");
    sb.append("String_Node_Str" + String.format("String_Node_Str",hashrate_total) + "String_Node_Str");
    sb.append("String_Node_Str" + String.format("String_Node_Str",hashrate_submitted) + "String_Node_Str");
  }
  sb.append("String_Node_Str");
  return sb.toString();
}

Fixed version (ground truth):
private String serveJson(String uri,Properties header){
  StringBuffer sb=new StringBuffer("String_Node_Str" + BTCMiner.clusterId + "String_Node_Str");
  Date now=new Date();
  sb.append("String_Node_Str" + now.toString() + "String_Node_Str");
  long uptime=(now.getTime() - BTCMiner.upTime) / 1000;
  sb.append("String_Node_Str" + uptime + "String_Node_Str");
  if (header.getProperty("String_Node_Str") != null) {
    sb.append("String_Node_Str" + header.getProperty("String_Node_Str") + "String_Node_Str");
  }
  if (BTCMiner.cluster == null) {
    sb.append("String_Node_Str");
  }
 else {
    sb.append("String_Node_Str");
    sb.append("String_Node_Str" + refreshTmo + "String_Node_Str");
    if (BTCMiner.longPollURL != null) {
      sb.append("String_Node_Str" + BTCMiner.longPollURL + "String_Node_Str");
    }
 else {
      sb.append("String_Node_Str");
    }
    int server=BTCMiner.rpcCount;
    int backup1=BTCMiner.rpcFirstBackup;
    int backup=0;
    if (backup1 > 0) {
      backup=server - backup1;
    }
    if (server > 0) {
      sb.append("String_Node_Str" + (server - backup) + "String_Node_Str");
      sb.append("String_Node_Str");
      for (int i=0; i < (server - backup); i++) {
        RPC rpc=BTCMiner.rpc[i];
        if (i > 0) {
          sb.append("String_Node_Str");
        }
        String state;
        if (rpc.state) {
          state="String_Node_Str";
        }
 else {
          state="String_Node_Str";
        }
        sb.append("String_Node_Str" + i + "String_Node_Str"+ state+ "String_Node_Str"+ rpc.name+ "String_Node_Str"+ rpc.url+ "String_Node_Str"+ rpc.host+ "String_Node_Str"+ rpc.usr+ "String_Node_Str"+ rpc.pwd+ "String_Node_Str"+ rpc.sharesGetwork+ "String_Node_Str"+ rpc.sharesAccepted+ "String_Node_Str"+ rpc.sharesRejected+ "String_Node_Str"+ String.format("String_Node_Str",rpc.difficulty)+ "String_Node_Str");
      }
      sb.append("String_Node_Str");
    }
    if (backup > 0) {
      sb.append("String_Node_Str" + backup + "String_Node_Str");
      sb.append("String_Node_Str");
      for (int i=backup1; i < server; i++) {
        RPC rpc=BTCMiner.rpc[i];
        if (i > backup1) {
          sb.append("String_Node_Str");
        }
        sb.append("String_Node_Str" + i + "String_Node_Str"+ rpc.name+ "String_Node_Str"+ rpc.url+ "String_Node_Str"+ rpc.host+ "String_Node_Str"+ rpc.usr+ "String_Node_Str"+ rpc.pwd+ "String_Node_Str"+ rpc.sharesGetwork+ "String_Node_Str"+ rpc.sharesAccepted+ "String_Node_Str"+ rpc.sharesRejected+ "String_Node_Str"+ String.format("String_Node_Str",rpc.difficulty)+ "String_Node_Str");
      }
      sb.append("String_Node_Str");
    }
    double hashrate_total=0.0;
    double hashrate_submitted=0.0;
    sb.append("String_Node_Str");
    for (int i=0; ; i++) {
      BTCMiner m=BTCMiner.cluster.getMiner(i);
      if (m == null) {
        break;
      }
      if (i > 0) {
        sb.append("String_Node_Str");
      }
      String state;
      if (!m.isRunning) {
        state="String_Node_Str";
      }
 else       if (m.fatalError != null) {
        state=m.fatalError;
      }
 else       if (m.suspended) {
        state="String_Node_Str";
      }
 else {
        state="String_Node_Str";
      }
      double fr=(m.freqM + 1) * m.freqM1;
      double er=m.errorRate[m.freqM];
      double hr=fr * (1 - er) * m.hashesPerClock;
      hashrate_total+=hr;
      double hs=m.submittedHashRate();
      hashrate_submitted+=hs;
      double lk=hs / hr + 0.0049;
      sb.append("String_Node_Str" + i + "String_Node_Str"+ m.name+ "String_Node_Str"+ state+ "String_Node_Str"+ String.format("String_Node_Str",fr)+ "String_Node_Str"+ String.format("String_Node_Str",hr)+ "String_Node_Str"+ String.format("String_Node_Str",er * 100.0)+ "String_Node_Str"+ String.format("String_Node_Str",m.maxErrorRate[m.freqM] * 100.0)+ "String_Node_Str"+ m.submittedCount+ "String_Node_Str"+ String.format("String_Node_Str",lk)+ "String_Node_Str");
    }
    sb.append("String_Node_Str");
    sb.append("String_Node_Str" + String.format("String_Node_Str",hashrate_total) + "String_Node_Str");
    sb.append("String_Node_Str" + String.format("String_Node_Str",hashrate_submitted) + "String_Node_Str");
    if (remoteSwitching) {
      sb.append("String_Node_Str");
    }
 else {
      sb.append("String_Node_Str");
    }
    if (BTCMiner.getTargetCheck()) {
      sb.append("String_Node_Str");
    }
 else {
      sb.append("String_Node_Str");
    }
  }
  sb.append("String_Node_Str");
  return sb.toString();
}