Program: 75779
Project: 75779
Buggy source:
/** 
 * Return true if the receiver containing this boundary detector is contained on the inside of a boundary port. A boundary port is an opaque port that is contained by a composite actor. If the containing receiver is contained on the inside of a boundary port then return true; otherwise return false. This method is not synchronized so the caller should be.
 * @return True if the containing receiver is contained on theinside of a boundary port; return false otherwise.
 */
public boolean isInsideBoundary(){
  if (_insideBoundaryCacheIsOn) {
    return _isInsideBoundaryValue;
  }
 else {
    IOPort innerPort=(IOPort)_rcvr.getContainer();
    if (innerPort == null) {
      _insideBoundaryCacheIsOn=false;
      _isInsideBoundaryValue=false;
      return _isInsideBoundaryValue;
    }
    ComponentEntity innerEntity=(ComponentEntity)innerPort.getContainer();
    if (!innerEntity.isAtomic() && innerPort.isOpaque()) {
      if (innerPort.isOutput() && !innerPort.isInput()) {
        _isInsideBoundaryValue=true;
      }
 else       if (!innerPort.isOutput() && innerPort.isInput()) {
        _isInsideBoundaryValue=false;
      }
 else       if (!innerPort.isOutput() && !innerPort.isInput()) {
        _isInsideBoundaryValue=false;
      }
 else {
        throw new IllegalArgumentException("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str");
      }
      _insideBoundaryCacheIsOn=true;
      return _isInsideBoundaryValue;
    }
    _insideBoundaryCacheIsOn=true;
    _isInsideBoundaryValue=false;
    return _isInsideBoundaryValue;
  }
}

Fixed version (ground truth):
/** 
 * Return true if the receiver containing this boundary detector is contained on the inside of a boundary port. A boundary port is an opaque port that is contained by a composite actor. If the containing receiver is contained on the inside of a boundary port then return true; otherwise return false. This method is not synchronized so the caller should be.
 * @return True if the containing receiver is contained on theinside of a boundary port; return false otherwise.
 */
public boolean isInsideBoundary(){
  if (_insideBoundaryCacheIsOn) {
    return _isInsideBoundaryValue;
  }
 else {
    IOPort innerPort=(IOPort)_receiver.getContainer();
    if (innerPort == null) {
      _insideBoundaryCacheIsOn=false;
      _isInsideBoundaryValue=false;
      return _isInsideBoundaryValue;
    }
    ComponentEntity innerEntity=(ComponentEntity)innerPort.getContainer();
    if (!innerEntity.isAtomic() && innerPort.isOpaque()) {
      if (innerPort.isOutput() && !innerPort.isInput()) {
        _isInsideBoundaryValue=true;
      }
 else       if (!innerPort.isOutput() && innerPort.isInput()) {
        _isInsideBoundaryValue=false;
      }
 else       if (!innerPort.isOutput() && !innerPort.isInput()) {
        _isInsideBoundaryValue=false;
      }
 else {
        throw new IllegalArgumentException("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str");
      }
      _insideBoundaryCacheIsOn=true;
      return _isInsideBoundaryValue;
    }
    _insideBoundaryCacheIsOn=true;
    _isInsideBoundaryValue=false;
    return _isInsideBoundaryValue;
  }
}