Program: 74645
Project: 74645
Buggy source:
/** 
 * Return a docAttribute with the available kepler documentation. Returns null if an error prevents the doc attribute from being created.
 * @param target The container for the DocAttribute
 * @return The DocAttribute.
 */
public DocAttribute getDocAttribute(NamedObj target){
  createInstanceFromExisting(this);
  try {
    DocAttribute da=new DocAttribute(target.workspace());
    da.setContainer(target);
    da.setName("String_Node_Str");
    da.author=new StringAttribute(da,"String_Node_Str");
    da.author.setExpression(author);
    da.version=new StringAttribute(da,"String_Node_Str");
    da.version.setExpression(version);
    da.since=new StringAttribute(da,"String_Node_Str");
    da.since.setExpression("String_Node_Str");
    da.description=new StringParameter(da,"String_Node_Str");
    da.description.setExpression(userLevelDocumentation);
    Enumeration portItt=portHash.keys();
    while (portItt.hasMoreElements()) {
      String name=(String)portItt.nextElement();
      String desc=(String)portHash.get(name);
      StringAttribute sa=new StringAttribute(da,name + "String_Node_Str");
      sa.setExpression(desc);
    }
    Enumeration propItt=propertyHash.keys();
    while (propItt.hasMoreElements()) {
      String name=(String)propItt.nextElement();
      String desc=(String)propertyHash.get(name);
      StringParameter sp=new StringParameter(da,name + "String_Node_Str");
      sp.setExpression(desc);
    }
    return da;
  }
 catch (  Exception e) {
    System.out.println("String_Node_Str" + e.getMessage());
    e.printStackTrace();
    return null;
  }
}

Fixed version (ground truth):
/** 
 * Return a docAttribute with the available kepler documentation. Returns null if an error prevents the doc attribute from being created.
 * @param target The container for the DocAttribute
 * @return The DocAttribute.
 */
public DocAttribute getDocAttribute(NamedObj target){
  createInstanceFromExisting(this);
  try {
    DocAttribute da=new DocAttribute(target.workspace());
    da.setContainer(target);
    da.author=new StringAttribute(da,"String_Node_Str");
    da.author.setExpression(author);
    da.version=new StringAttribute(da,"String_Node_Str");
    da.version.setExpression(version);
    da.since=new StringAttribute(da,"String_Node_Str");
    da.since.setExpression("String_Node_Str");
    da.description=new StringParameter(da,"String_Node_Str");
    da.description.setExpression(userLevelDocumentation);
    Enumeration portItt=portHash.keys();
    while (portItt.hasMoreElements()) {
      String name=(String)portItt.nextElement();
      String desc=(String)portHash.get(name);
      StringAttribute sa=new StringAttribute(da,name + "String_Node_Str");
      sa.setExpression(desc);
    }
    Enumeration propItt=propertyHash.keys();
    while (propItt.hasMoreElements()) {
      String name=(String)propItt.nextElement();
      String desc=(String)propertyHash.get(name);
      StringParameter sp=new StringParameter(da,name + "String_Node_Str");
      sp.setExpression(desc);
    }
    return da;
  }
 catch (  Exception e) {
    System.out.println("String_Node_Str" + e.getMessage());
    e.printStackTrace();
    return null;
  }
}