Program: 76281
Project: 76281
Buggy source:
/** 
 * Construct a Philosopher in the specified container with the specified name.  The name must be unique within the container or an exception is thrown. The container argument must not be null, or a NullPointerException will be thrown. The actor is created with two input ports and two output ports, all of width one. The input ports are called "leftIn" and "rightIn", and similarly, the output ports are called "leftOut" and "rightOut". <p> The default values of the eatingRate and thinkingRate parameters are 1.0. <p>
 * @param container The TypedCompositeActor that contains this actor.
 * @param name The actor's name.
 * @exception IllegalActionException If the entity cannot be containedby the proposed container.
 * @exception NameDuplicationException If the name argument coincides withan entity already in the container.
 */
public Philosopher(TypedCompositeActor cont,String name) throws IllegalActionException, NameDuplicationException {
  super(cont,name);
  leftIn=new TypedIOPort(this,"String_Node_Str",true,false);
  leftOut=new TypedIOPort(this,"String_Node_Str",false,true);
  rightIn=new TypedIOPort(this,"String_Node_Str",true,false);
  rightOut=new TypedIOPort(this,"String_Node_Str",false,true);
  leftIn.setTypeEquals(BaseType.GENERAL);
  rightIn.setTypeEquals(BaseType.GENERAL);
  leftOut.setTypeEquals(BaseType.INT);
  rightOut.setTypeEquals(BaseType.INT);
  _eating=new Parameter(this,"String_Node_Str");
  _eating.setExpression("String_Node_Str");
  _thinking=new Parameter(this,"String_Node_Str");
  _thinking.setExpression("String_Node_Str");
}

Fixed version (ground truth):
/** 
 * Construct a Philosopher in the specified container with the specified name.  The name must be unique within the container or an exception is thrown. The container argument must not be null, or a NullPointerException will be thrown. The actor is created with two input ports and two output ports, all of width one. The input ports are called "leftIn" and "rightIn", and similarly, the output ports are called "leftOut" and "rightOut". <p> The default values of the eatingRate and thinkingRate parameters are 1.0. <p>
 * @param container The TypedCompositeActor that contains this actor.
 * @param name The actor's name.
 * @exception IllegalActionException If the entity cannot be containedby the proposed container.
 * @exception NameDuplicationException If the name argument coincides withan entity already in the container.
 */
public Philosopher(TypedCompositeActor cont,String name) throws IllegalActionException, NameDuplicationException {
  super(cont,name);
  leftIn=new TypedIOPort(this,"String_Node_Str",true,false);
  leftOut=new TypedIOPort(this,"String_Node_Str",false,true);
  rightIn=new TypedIOPort(this,"String_Node_Str",true,false);
  rightOut=new TypedIOPort(this,"String_Node_Str",false,true);
  leftIn.setTypeEquals(BaseType.GENERAL);
  rightIn.setTypeEquals(BaseType.GENERAL);
  leftOut.setTypeEquals(BaseType.INT);
  rightOut.setTypeEquals(BaseType.INT);
  eating=new Parameter(this,"String_Node_Str");
  eating.setExpression("String_Node_Str");
  thinking=new Parameter(this,"String_Node_Str");
  thinking.setExpression("String_Node_Str");
}