Program: 79340
Project: 79340
Buggy source:
public void startReport(Report report){
  if (logger.isTraceEnabled()) {
    logger.trace("String_Node_Str");
  }
  this.report=report;
  OutputStream out=this.resourceManager.openOutputStream(REPORT_FILE);
  writer.open(out,"String_Node_Str");
  writer.openTag("String_Node_Str");
  writer.closeNoEndTag();
  writer.openTag("String_Node_Str");
  writer.openTag("String_Node_Str");
  writer.attribute("String_Node_Str","String_Node_Str");
  writer.attribute("String_Node_Str","String_Node_Str");
  writer.closeNoEndTag();
  writer.openTag("String_Node_Str");
  StyleDesign style;
  boolean hasStyle=false;
  StringBuffer styleBuffer=new StringBuffer();
  if (report == null) {
    if (logger.isWarnEnabled()) {
      logger.warn("String_Node_Str");
    }
  }
 else {
    ArrayList styleList=new ArrayList();
    int styleNum=0;
    int m;
    for (int n=0; n < report.getStyleCount(); n++) {
      styleBuffer.delete(0,styleBuffer.capacity());
      style=report.getStyle(n);
      if (style != null) {
        if (style.entrySet().size() == 0) {
          styleNameMapping.put(style.getName(),null);
        }
 else {
          StyleDesign tempStyle;
          for (m=0; m < styleNum; m++) {
            tempStyle=(StyleDesign)styleList.get(m);
            if (style.isSameStyle(tempStyle)) {
              styleNameMapping.put(style.getName(),tempStyle.getName());
              break;
            }
          }
          if (m == styleNum) {
            AttributeBuilder.buildStyle(styleBuffer,style,this);
            if (styleBuffer.length() > 0) {
              styleList.add(style);
              styleNum++;
              styleNameMapping.put(style.getName(),style.getName());
              if (!hasStyle) {
                hasStyle=true;
                writer.openTag("String_Node_Str");
                writer.attribute("String_Node_Str","String_Node_Str");
              }
              writer.style(style.getName(),styleBuffer.toString());
            }
 else {
              styleNameMapping.put(style.getName(),null);
            }
          }
        }
      }
    }
  }
  if (hasStyle) {
    writer.closeTag("String_Node_Str");
  }
  writer.closeTag("String_Node_Str");
}

Fixed version (ground truth):
public void startReport(Report report){
  if (logger.isTraceEnabled()) {
    logger.trace("String_Node_Str");
  }
  this.report=report;
  OutputStream out=this.resourceManager.openOutputStream(REPORT_FILE);
  writer.open(out,"String_Node_Str");
  writer.openTag("String_Node_Str");
  writer.closeNoEndTag();
  writer.openTag("String_Node_Str");
  writer.openTag("String_Node_Str");
  writer.attribute("String_Node_Str","String_Node_Str");
  writer.attribute("String_Node_Str","String_Node_Str");
  writer.closeNoEndTag();
  writer.openTag("String_Node_Str");
  writer.openTag("String_Node_Str");
  writer.attribute("String_Node_Str","String_Node_Str");
  writer.style("String_Node_Str","String_Node_Str",true);
  StyleDesign style;
  StringBuffer styleBuffer=new StringBuffer();
  if (report == null) {
    if (logger.isWarnEnabled()) {
      logger.warn("String_Node_Str");
    }
  }
 else {
    ArrayList styleList=new ArrayList();
    int styleNum=0;
    int m;
    for (int n=0; n < report.getStyleCount(); n++) {
      styleBuffer.delete(0,styleBuffer.capacity());
      style=report.getStyle(n);
      if (style != null) {
        if (style.entrySet().size() == 0) {
          styleNameMapping.put(style.getName(),null);
        }
 else {
          StyleDesign tempStyle;
          for (m=0; m < styleNum; m++) {
            tempStyle=(StyleDesign)styleList.get(m);
            if (style.isSameStyle(tempStyle)) {
              styleNameMapping.put(style.getName(),tempStyle.getName());
              break;
            }
          }
          if (m == styleNum) {
            AttributeBuilder.buildStyle(styleBuffer,style,this);
            if (styleBuffer.length() > 0) {
              styleList.add(style);
              styleNum++;
              styleNameMapping.put(style.getName(),style.getName());
              writer.style(style.getName(),styleBuffer.toString(),false);
            }
 else {
              styleNameMapping.put(style.getName(),null);
            }
          }
        }
      }
    }
  }
  writer.closeTag("String_Node_Str");
  writer.closeTag("String_Node_Str");
}