Program: 80833
Project: 80833
Buggy source:
public void stop(){
  float dt=(System.nanoTime() - timestamp) / 1000000f;
  if (verbose)   System.out.println("String_Node_Str");
  for (  VirtualClient vc : clients)   vc.stop();
  int sum=0;
  int sumTimeout=0;
  IntArray latencies=new IntArray();
  for (int i=0; i < clients.size(); i++) {
    VirtualClient client=clients.get(i);
    int count=client.getCount();
    int lost=client.getTimeouts();
    latencies.add(client.getLatencies());
    sum+=count;
    sumTimeout+=lost;
    if (verbose)     System.out.format("String_Node_Str",i,count,lost,(int)(count * 1000L / dt));
  }
  float throughput=(sum * 1000L) / dt;
  int[] lats=latencies.getArray();
  long latsum=0;
  for (  int l : lats)   latsum+=l;
  double mean=(double)latsum / lats.length;
  double temp=0;
  for (  int l : lats)   temp+=(mean - l) * (mean - l);
  double var=Math.sqrt(temp / lats.length);
  if (lats.length > 0) {
    Arrays.sort(lats);
    int q50=lats[(int)(lats.length / 2)];
    int q66=lats[(int)(lats.length * 2L / 3)];
    int q75=lats[(int)(lats.length * 3L / 4)];
    int q80=lats[(int)(lats.length * 4L / 5)];
    int q90=lats[(int)(lats.length * 9L / 10)];
    int q95=lats[(int)(lats.length * 19L / 20)];
    int q98=lats[(int)(lats.length * 98L / 100)];
    int q99=lats[(int)(lats.length * 99L / 100)];
    int q100=lats[lats.length - 1];
    log.format("String_Node_Str",sumTimeout,count,dt / 1000f,sum,throughput,q50,q66,q75,q80,q90,q95,q98,q99,q100,var);
  }
 else {
    log.format("String_Node_Str",count,dt / 1000f,sum,sumTimeout,throughput,uri.toString());
  }
}

Fixed version (ground truth):
public void stop(){
  float dt=(System.nanoTime() - timestamp) / 1000000f;
  if (verbose)   System.out.println("String_Node_Str");
  for (  VirtualClient vc : clients)   vc.stop();
  int sum=0;
  int sumTimeout=0;
  IntArray latencies=new IntArray();
  for (int i=0; i < clients.size(); i++) {
    VirtualClient client=clients.get(i);
    int count=client.getCount();
    int lost=client.getTimeouts();
    for (    int lat : client.getLatencies()) {
      latencies.add(lat);
    }
    sum+=count;
    sumTimeout+=lost;
    if (verbose)     System.out.format("String_Node_Str",i,count,lost,(int)(count * 1000L / dt));
  }
  float throughput=(sum * 1000L) / dt;
  int[] lats=latencies.getArray();
  long latsum=0;
  for (  int l : lats)   latsum+=l;
  double mean=(double)latsum / lats.length;
  double temp=0;
  for (  int l : lats)   temp+=(mean - l) * (mean - l);
  double var=Math.sqrt(temp / lats.length);
  if (lats.length > 0) {
    Arrays.sort(lats);
    int q50=lats[(int)(lats.length / 2)];
    int q66=lats[(int)(lats.length * 2L / 3)];
    int q75=lats[(int)(lats.length * 3L / 4)];
    int q80=lats[(int)(lats.length * 4L / 5)];
    int q90=lats[(int)(lats.length * 9L / 10)];
    int q95=lats[(int)(lats.length * 19L / 20)];
    int q98=lats[(int)(lats.length * 98L / 100)];
    int q99=lats[(int)(lats.length * 99L / 100)];
    int q100=lats[lats.length - 1];
    log.format("String_Node_Str",sumTimeout,count,dt / 1000f,sum,throughput,q50,q66,q75,q80,q90,q95,q98,q99,q100,var);
  }
 else {
    log.format("String_Node_Str",count,dt / 1000f,sum,sumTimeout,throughput,uri.toString());
  }
}