Program: 3617
Project: 3617
Buggy source:
public int doStartTag() throws JspException {
  JspWriter out=pageContext.getOut();
  boolean emphasiseDate=false;
  boolean emphasiseTitle=false;
  if (emphColumn != null) {
    emphasiseDate=emphColumn.equalsIgnoreCase("String_Node_Str");
    emphasiseTitle=emphColumn.equalsIgnoreCase("String_Node_Str");
  }
  try {
    out.println("String_Node_Str");
    out.print("String_Node_Str" + (emphasiseDate ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str"+ (emphasiseDate ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
    out.println("String_Node_Str" + (emphasiseTitle ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str"+ (emphasiseTitle ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
    out.println("String_Node_Str");
    String row="String_Node_Str";
    for (int i=0; i < items.length; i++) {
      DCValue[] titleArray=items[i].getDC("String_Node_Str",null,Item.ANY);
      String title="String_Node_Str";
      if (titleArray.length > 0) {
        title=titleArray[0].value;
      }
      DCValue[] authors=items[i].getDC("String_Node_Str",Item.ANY,Item.ANY);
      DCValue[] dateIssued=items[i].getDC("String_Node_Str","String_Node_Str",Item.ANY);
      DCDate dd=null;
      if (dateIssued.length > 0) {
        dd=new DCDate(dateIssued[0].value);
      }
      out.print("String_Node_Str");
      out.print(i == highlightRow ? "String_Node_Str" : row);
      out.print("String_Node_Str");
      if (emphasiseDate) {
        out.print("String_Node_Str");
      }
      out.print(UIUtil.displayDate(dd,false,false));
      if (emphasiseDate) {
        out.print("String_Node_Str");
      }
      out.print("String_Node_Str");
      out.print(i == highlightRow ? "String_Node_Str" : row);
      out.print("String_Node_Str");
      if (emphasiseTitle) {
        out.print("String_Node_Str");
      }
      out.print("String_Node_Str");
      HttpServletRequest hrq=(HttpServletRequest)pageContext.getRequest();
      out.print(hrq.getContextPath());
      out.print("String_Node_Str");
      out.print(items[i].getHandle());
      out.print("String_Node_Str");
      out.print(title);
      out.print("String_Node_Str");
      if (emphasiseTitle) {
        out.print("String_Node_Str");
      }
      out.print("String_Node_Str");
      out.print(i == highlightRow ? "String_Node_Str" : row);
      out.print("String_Node_Str");
      for (int j=0; j < authors.length; j++) {
        out.print("String_Node_Str" + authors[j].value + "String_Node_Str");
        if (j < authors.length - 1) {
          out.print("String_Node_Str");
        }
      }
      out.println("String_Node_Str");
      row=(row.equals("String_Node_Str") ? "String_Node_Str" : "String_Node_Str");
    }
    out.println("String_Node_Str");
  }
 catch (  IOException ie) {
    throw new JspException(ie);
  }
  return SKIP_BODY;
}

Fixed version (ground truth):
public int doStartTag() throws JspException {
  JspWriter out=pageContext.getOut();
  boolean emphasiseDate=false;
  boolean emphasiseTitle=false;
  if (emphColumn != null) {
    emphasiseDate=emphColumn.equalsIgnoreCase("String_Node_Str");
    emphasiseTitle=emphColumn.equalsIgnoreCase("String_Node_Str");
  }
  try {
    out.println("String_Node_Str");
    out.print("String_Node_Str" + (emphasiseDate ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str"+ (emphasiseDate ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
    out.println("String_Node_Str" + (emphasiseTitle ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str"+ (emphasiseTitle ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
    out.println("String_Node_Str");
    String row="String_Node_Str";
    for (int i=0; i < items.length; i++) {
      DCValue[] titleArray=items[i].getDC("String_Node_Str",null,Item.ANY);
      String title="String_Node_Str";
      if (titleArray.length > 0) {
        title=titleArray[0].value;
      }
      DCValue[] authors=items[i].getDC("String_Node_Str",Item.ANY,Item.ANY);
      DCValue[] dateIssued=items[i].getDC("String_Node_Str","String_Node_Str",Item.ANY);
      DCDate dd=null;
      if (dateIssued.length > 0) {
        dd=new DCDate(dateIssued[0].value);
      }
      out.print("String_Node_Str");
      out.print(i == highlightRow ? "String_Node_Str" : row);
      out.print("String_Node_Str");
      if (emphasiseDate) {
        out.print("String_Node_Str");
      }
      out.print(UIUtil.displayDate(dd,false,false));
      if (emphasiseDate) {
        out.print("String_Node_Str");
      }
      out.print("String_Node_Str");
      out.print(i == highlightRow ? "String_Node_Str" : row);
      out.print("String_Node_Str");
      if (emphasiseTitle) {
        out.print("String_Node_Str");
      }
      out.print("String_Node_Str");
      HttpServletRequest hrq=(HttpServletRequest)pageContext.getRequest();
      out.print(hrq.getContextPath());
      out.print("String_Node_Str");
      out.print(items[i].getHandle());
      out.print("String_Node_Str");
      out.print(Utils.addEntities(title));
      out.print("String_Node_Str");
      if (emphasiseTitle) {
        out.print("String_Node_Str");
      }
      out.print("String_Node_Str");
      out.print(i == highlightRow ? "String_Node_Str" : row);
      out.print("String_Node_Str");
      for (int j=0; j < authors.length; j++) {
        out.print("String_Node_Str" + Utils.addEntities(authors[j].value) + "String_Node_Str");
        if (j < authors.length - 1) {
          out.print("String_Node_Str");
        }
      }
      out.println("String_Node_Str");
      row=(row.equals("String_Node_Str") ? "String_Node_Str" : "String_Node_Str");
    }
    out.println("String_Node_Str");
  }
 catch (  IOException ie) {
    throw new JspException(ie);
  }
  return SKIP_BODY;
}