Program: 48014
Project: 48014
Buggy source:
protected void printRatioTable(Coverage ratio,StringBuilder buf){
  String percent=percentFormat.format(ratio.getPercentageFloat());
  String numerator=intFormat.format(ratio.getMissed());
  String denominator=intFormat.format(ratio.getCovered());
  int maximumCovered=2;
  int maximumMissed=2;
  if (ratio.getType().equals(CoverageElement.Type.INSTRUCTION)) {
    maximumCovered=getParent().maxCoveredInstruction;
    maximumMissed=getParent().maxMissedInstruction;
  }
 else   if (ratio.getType().equals(CoverageElement.Type.BRANCH)) {
    maximumCovered=getParent().maxCoveredBranch;
    maximumMissed=getParent().maxMissedBranch;
  }
 else   if (ratio.getType().equals(CoverageElement.Type.COMPLEXITY)) {
    maximumCovered=getParent().maxCoveredComplexity;
    maximumMissed=getParent().maxMissedComplexity;
  }
 else   if (ratio.getType().equals(CoverageElement.Type.LINE)) {
    maximumCovered=getParent().maxCoveredLine;
    maximumMissed=getParent().maxMissedLine;
  }
 else   if (ratio.getType().equals(CoverageElement.Type.METHOD)) {
    maximumCovered=getParent().maxCoveredMethod;
    maximumMissed=getParent().maxMissedMethod;
  }
 else   if (ratio.getType().equals(CoverageElement.Type.CLASS)) {
    maximumCovered=getParent().maxCoveredClazz;
    maximumMissed=getParent().maxMissedClazz;
  }
  buf.append("String_Node_Str").append("String_Node_Str").append(ratio.getPercentage()).append("String_Node_Str").append("String_Node_Str").append("String_Node_Str").append(((float)ratio.getCovered() / (float)maximumCovered) * 100).append("String_Node_Str").append("String_Node_Str").append(ratio.getMissed() > ratio.getCovered() ? ((float)ratio.getMissed() / (float)maximumMissed) * 100 : ((float)ratio.getMissed() / (float)maximumCovered) * 100).append("String_Node_Str").append("String_Node_Str" + "String_Node_Str").append("String_Node_Str").append("String_Node_Str" + numerator).append("String_Node_Str").append("String_Node_Str" + denominator).append("String_Node_Str").append("String_Node_Str");
}

Fixed version (ground truth):
protected void printRatioTable(Coverage ratio,StringBuilder buf){
  String percent=percentFormat.format(ratio.getPercentageFloat());
  String numerator=intFormat.format(ratio.getMissed());
  String denominator=intFormat.format(ratio.getCovered());
  int maximumCovered=2;
  int maximumMissed=2;
  if (ratio.getType().equals(CoverageElement.Type.INSTRUCTION)) {
    maximumCovered=getParent().maxCoveredInstruction;
    maximumMissed=getParent().maxMissedInstruction;
  }
 else   if (ratio.getType().equals(CoverageElement.Type.BRANCH)) {
    maximumCovered=getParent().maxCoveredBranch;
    maximumMissed=getParent().maxMissedBranch;
  }
 else   if (ratio.getType().equals(CoverageElement.Type.COMPLEXITY)) {
    maximumCovered=getParent().maxCoveredComplexity;
    maximumMissed=getParent().maxMissedComplexity;
  }
 else   if (ratio.getType().equals(CoverageElement.Type.LINE)) {
    maximumCovered=getParent().maxCoveredLine;
    maximumMissed=getParent().maxMissedLine;
  }
 else   if (ratio.getType().equals(CoverageElement.Type.METHOD)) {
    maximumCovered=getParent().maxCoveredMethod;
    maximumMissed=getParent().maxMissedMethod;
  }
 else   if (ratio.getType().equals(CoverageElement.Type.CLASS)) {
    maximumCovered=getParent().maxCoveredClazz;
    maximumMissed=getParent().maxMissedClazz;
  }
  buf.append("String_Node_Str").append("String_Node_Str" + "String_Node_Str").append("String_Node_Str").append("String_Node_Str" + numerator).append("String_Node_Str").append("String_Node_Str" + denominator).append("String_Node_Str").append("String_Node_Str").append("String_Node_Str").append(ratio.getPercentage()).append("String_Node_Str").append("String_Node_Str").append("String_Node_Str").append(((float)ratio.getCovered() / (float)maximumCovered) * 100).append("String_Node_Str").append("String_Node_Str").append(ratio.getMissed() > ratio.getCovered() ? ((float)ratio.getMissed() / (float)maximumMissed) * 100 : ((float)ratio.getMissed() / (float)maximumCovered) * 100).append("String_Node_Str").append("String_Node_Str").append("String_Node_Str");
}