Program: 72634
Project: 72634
Buggy source:
/** 
 * Construct an actor with the given container and name.
 * @param container The container.
 * @param name The name of this actor.
 * @exception IllegalActionException If the actor cannot be containedby the proposed container.
 * @exception NameDuplicationException If the container already has anactor with this name.
 */
public DateConstructor(CompositeEntity container,String name) throws NameDuplicationException, IllegalActionException {
  super(container,name);
  output=new TypedIOPort(this,"String_Node_Str",false,true);
  output.setTypeEquals(BaseType.DATE);
  year=new TypedIOPort(this,"String_Node_Str",true,false);
  year.setTypeEquals(BaseType.INT);
  new SingletonParameter(year,"String_Node_Str").setToken(BooleanToken.TRUE);
  month=new TypedIOPort(this,"String_Node_Str",true,false);
  month.setTypeEquals(BaseType.INT);
  new SingletonParameter(year,"String_Node_Str").setToken(BooleanToken.TRUE);
  day=new TypedIOPort(this,"String_Node_Str",true,false);
  day.setTypeEquals(BaseType.INT);
  new SingletonParameter(day,"String_Node_Str").setToken(BooleanToken.TRUE);
  hour=new TypedIOPort(this,"String_Node_Str",true,false);
  hour.setTypeEquals(BaseType.INT);
  new SingletonParameter(hour,"String_Node_Str").setToken(BooleanToken.TRUE);
  minute=new TypedIOPort(this,"String_Node_Str",true,false);
  minute.setTypeEquals(BaseType.INT);
  new SingletonParameter(minute,"String_Node_Str").setToken(BooleanToken.TRUE);
  second=new TypedIOPort(this,"String_Node_Str",true,false);
  second.setTypeEquals(BaseType.INT);
  new SingletonParameter(minute,"String_Node_Str").setToken(BooleanToken.TRUE);
  millisecond=new TypedIOPort(this,"String_Node_Str",true,false);
  millisecond.setTypeEquals(BaseType.INT);
  new SingletonParameter(millisecond,"String_Node_Str").setToken(BooleanToken.TRUE);
  microsecond=new TypedIOPort(this,"String_Node_Str",true,false);
  microsecond.setTypeEquals(BaseType.INT);
  new SingletonParameter(microsecond,"String_Node_Str").setToken(BooleanToken.TRUE);
  nanosecond=new TypedIOPort(this,"String_Node_Str",true,false);
  nanosecond.setTypeEquals(BaseType.INT);
  new SingletonParameter(microsecond,"String_Node_Str").setToken(BooleanToken.TRUE);
  timeZone=new TypedIOPort(this,"String_Node_Str",true,false);
  timeZone.setTypeEquals(BaseType.STRING);
  new SingletonParameter(timeZone,"String_Node_Str").setToken(BooleanToken.TRUE);
  timeInMillis=new TypedIOPort(this,"String_Node_Str",true,false);
  timeInMillis.setTypeEquals(BaseType.LONG);
  new SingletonParameter(timeInMillis,"String_Node_Str").setToken(BooleanToken.TRUE);
  precision=new StringParameter(this,"String_Node_Str");
  precision.addChoice("String_Node_Str");
  precision.addChoice("String_Node_Str");
  precision.addChoice("String_Node_Str");
  precision.addChoice("String_Node_Str");
  precision.setExpression("String_Node_Str");
}

Fixed version (ground truth):
/** 
 * Construct an actor with the given container and name.
 * @param container The container.
 * @param name The name of this actor.
 * @exception IllegalActionException If the actor cannot be containedby the proposed container.
 * @exception NameDuplicationException If the container already has anactor with this name.
 */
public DateConstructor(CompositeEntity container,String name) throws NameDuplicationException, IllegalActionException {
  super(container,name);
  output=new TypedIOPort(this,"String_Node_Str",false,true);
  output.setTypeEquals(BaseType.DATE);
  year=new PortParameter(this,"String_Node_Str",new IntToken(0));
  new SingletonParameter(year.getPort(),"String_Node_Str").setToken(BooleanToken.TRUE);
  month=new PortParameter(this,"String_Node_Str",new IntToken(0));
  month.setTypeEquals(BaseType.INT);
  new SingletonParameter(month.getPort(),"String_Node_Str").setToken(BooleanToken.TRUE);
  day=new PortParameter(this,"String_Node_Str",new IntToken(1));
  day.setTypeEquals(BaseType.INT);
  new SingletonParameter(day.getPort(),"String_Node_Str").setToken(BooleanToken.TRUE);
  hour=new PortParameter(this,"String_Node_Str",new IntToken(0));
  hour.setTypeEquals(BaseType.INT);
  new SingletonParameter(hour.getPort(),"String_Node_Str").setToken(BooleanToken.TRUE);
  minute=new PortParameter(this,"String_Node_Str",new IntToken(0));
  minute.setTypeEquals(BaseType.INT);
  new SingletonParameter(minute.getPort(),"String_Node_Str").setToken(BooleanToken.TRUE);
  second=new PortParameter(this,"String_Node_Str",new IntToken(0));
  second.setTypeEquals(BaseType.INT);
  new SingletonParameter(second.getPort(),"String_Node_Str").setToken(BooleanToken.TRUE);
  millisecond=new PortParameter(this,"String_Node_Str",new IntToken(0));
  millisecond.setTypeEquals(BaseType.INT);
  new SingletonParameter(millisecond.getPort(),"String_Node_Str").setToken(BooleanToken.TRUE);
  microsecond=new PortParameter(this,"String_Node_Str",new IntToken(0));
  microsecond.setTypeEquals(BaseType.INT);
  new SingletonParameter(microsecond.getPort(),"String_Node_Str").setToken(BooleanToken.TRUE);
  nanosecond=new PortParameter(this,"String_Node_Str",new IntToken(0));
  nanosecond.setTypeEquals(BaseType.INT);
  new SingletonParameter(nanosecond.getPort(),"String_Node_Str").setToken(BooleanToken.TRUE);
  timeZone=new PortParameter(this,"String_Node_Str",new StringToken("String_Node_Str"));
  timeZone.setTypeEquals(BaseType.STRING);
  new SingletonParameter(timeZone.getPort(),"String_Node_Str").setToken(BooleanToken.TRUE);
  useTimeInMillis=new Parameter(this,"String_Node_Str",new BooleanToken(false));
  useTimeInMillis.setTypeEquals(BaseType.BOOLEAN);
  timeInMillis=new PortParameter(this,"String_Node_Str",new IntToken(0));
  timeInMillis.setTypeEquals(BaseType.LONG);
  new SingletonParameter(timeInMillis.getPort(),"String_Node_Str").setToken(BooleanToken.TRUE);
  precision=new StringParameter(this,"String_Node_Str");
  precision.addChoice("String_Node_Str");
  precision.addChoice("String_Node_Str");
  precision.addChoice("String_Node_Str");
  precision.addChoice("String_Node_Str");
  precision.setExpression("String_Node_Str");
}