Program: 25472
Project: 25472
Buggy source:
@Override public void writeDiffNumber(int i,String s){
  double percent;
  try {
    totalWriter.write(String.valueOf(numClass));
    totalWriter.write(String.valueOf(numStruct));
    totalWriter.write(String.valueOf(numConstructordecl));
    percent=(double)numConstructordecl / numExecuteLine;
    totalWriter.write(String.valueOf((double)Math.round(percent * 10000) / 10000));
    totalWriter.write(String.valueOf(numDestructordecl));
    percent=(double)numDestructordecl / numExecuteLine;
    totalWriter.write(String.valueOf((double)Math.round(percent * 10000) / 10000));
    totalWriter.write(String.valueOf(numConstructor));
    percent=(double)numConstructor / numExecuteLine;
    totalWriter.write(String.valueOf((double)Math.round(percent * 10000) / 10000));
    totalWriter.write(String.valueOf(numDestructor));
    percent=(double)numDestructor / numExecuteLine;
    totalWriter.write(String.valueOf((double)Math.round(percent * 10000) / 10000));
    totalWriter.write(String.valueOf(numUnion));
    percent=(double)numUnion / numExecuteLine;
    totalWriter.write(String.valueOf((double)Math.round(percent * 10000) / 10000));
    totalWriter.write(String.valueOf(numTry));
    percent=(double)numTry / numExecuteLine;
    totalWriter.write(String.valueOf((double)Math.round(percent * 10000) / 10000));
    totalWriter.write(String.valueOf(numCatch));
    percent=(double)numCatch / numExecuteLine;
    totalWriter.write(String.valueOf((double)Math.round(percent * 10000) / 10000));
    totalWriter.write(String.valueOf(numThrow));
    percent=(double)numThrow / numExecuteLine;
    totalWriter.write(String.valueOf((double)Math.round(percent * 10000) / 10000));
    totalWriter.endRecord();
  }
 catch (  IOException e) {
    e.printStackTrace();
  }
}

Fixed version (ground truth):
@Override public void writeDiffNumber(int i,String s){
  double percent;
  try {
    totalWriter.write(String.valueOf(numOpOverloadCall));
    totalWriter.write(String.valueOf(numLocalOpOverloadCall));
    totalWriter.write(String.valueOf(numLibOpOverloadCall));
    totalWriter.write(String.valueOf(numClass));
    totalWriter.write(String.valueOf(numStruct));
    totalWriter.write(String.valueOf(numConstructordecl));
    percent=(double)numConstructordecl / numExecuteLine;
    totalWriter.write(String.valueOf((double)Math.round(percent * 10000) / 10000));
    totalWriter.write(String.valueOf(numDestructordecl));
    percent=(double)numDestructordecl / numExecuteLine;
    totalWriter.write(String.valueOf((double)Math.round(percent * 10000) / 10000));
    totalWriter.write(String.valueOf(numConstructor));
    percent=(double)numConstructor / numExecuteLine;
    totalWriter.write(String.valueOf((double)Math.round(percent * 10000) / 10000));
    totalWriter.write(String.valueOf(numDestructor));
    percent=(double)numDestructor / numExecuteLine;
    totalWriter.write(String.valueOf((double)Math.round(percent * 10000) / 10000));
    totalWriter.write(String.valueOf(numUnion));
    percent=(double)numUnion / numExecuteLine;
    totalWriter.write(String.valueOf((double)Math.round(percent * 10000) / 10000));
    totalWriter.write(String.valueOf(numTry));
    percent=(double)numTry / numExecuteLine;
    totalWriter.write(String.valueOf((double)Math.round(percent * 10000) / 10000));
    totalWriter.write(String.valueOf(numCatch));
    percent=(double)numCatch / numExecuteLine;
    totalWriter.write(String.valueOf((double)Math.round(percent * 10000) / 10000));
    totalWriter.write(String.valueOf(numThrow));
    percent=(double)numThrow / numExecuteLine;
    totalWriter.write(String.valueOf((double)Math.round(percent * 10000) / 10000));
    totalWriter.endRecord();
  }
 catch (  IOException e) {
    e.printStackTrace();
  }
}