Program: 29141
Project: 29141
Buggy source:
@Override protected void init(ExpressionExecutor[] attributeExpressionExecutors,ExecutionPlanContext executionPlanContext){
  if (attributeExpressionExecutors[0].getReturnType() != Attribute.Type.LONG && attributeExpressionExecutors.length == 3) {
    useDefaultDateFormat=true;
    dateFormat=TimeExtensionConstants.EXTENSION_TIME_DEFAULT_DATE_FORMAT;
  }
  if (attributeExpressionExecutors.length == 4) {
    if (attributeExpressionExecutors[0].getReturnType() != Attribute.Type.STRING) {
      throw new ExecutionPlanValidationException("String_Node_Str" + "String_Node_Str" + "String_Node_Str" + Attribute.Type.STRING + "String_Node_Str"+ attributeExpressionExecutors[0].getReturnType().toString());
    }
    if (attributeExpressionExecutors[1].getReturnType() != Attribute.Type.LONG) {
      throw new ExecutionPlanValidationException("String_Node_Str" + "String_Node_Str" + "String_Node_Str" + Attribute.Type.LONG + "String_Node_Str"+ attributeExpressionExecutors[1].getReturnType().toString());
    }
    if (attributeExpressionExecutors[2].getReturnType() != Attribute.Type.STRING) {
      throw new ExecutionPlanValidationException("String_Node_Str" + "String_Node_Str" + "String_Node_Str" + Attribute.Type.STRING + "String_Node_Str"+ attributeExpressionExecutors[2].getReturnType().toString());
    }
    if (attributeExpressionExecutors[3].getReturnType() != Attribute.Type.STRING) {
      throw new ExecutionPlanValidationException("String_Node_Str" + "String_Node_Str" + "String_Node_Str" + Attribute.Type.STRING + "String_Node_Str"+ attributeExpressionExecutors[3].getReturnType().toString());
    }
  }
 else   if (attributeExpressionExecutors.length == 3) {
    if (useDefaultDateFormat) {
      if (attributeExpressionExecutors[0].getReturnType() != Attribute.Type.STRING) {
        throw new ExecutionPlanValidationException("String_Node_Str" + "String_Node_Str" + "String_Node_Str" + Attribute.Type.STRING + "String_Node_Str"+ attributeExpressionExecutors[0].getReturnType().toString());
      }
      if (attributeExpressionExecutors[1].getReturnType() != Attribute.Type.LONG) {
        throw new ExecutionPlanValidationException("String_Node_Str" + "String_Node_Str" + "String_Node_Str" + Attribute.Type.LONG + "String_Node_Str"+ attributeExpressionExecutors[1].getReturnType().toString());
      }
      if (attributeExpressionExecutors[2].getReturnType() != Attribute.Type.STRING) {
        throw new ExecutionPlanValidationException("String_Node_Str" + "String_Node_Str" + "String_Node_Str" + Attribute.Type.STRING + "String_Node_Str"+ attributeExpressionExecutors[2].getReturnType().toString());
      }
    }
 else {
      if (attributeExpressionExecutors[0].getReturnType() != Attribute.Type.LONG) {
        throw new ExecutionPlanValidationException("String_Node_Str" + "String_Node_Str" + "String_Node_Str" + Attribute.Type.LONG + "String_Node_Str"+ attributeExpressionExecutors[0].getReturnType().toString());
      }
      if (attributeExpressionExecutors[1].getReturnType() != Attribute.Type.LONG) {
        throw new ExecutionPlanValidationException("String_Node_Str" + "String_Node_Str" + "String_Node_Str" + Attribute.Type.LONG + "String_Node_Str"+ attributeExpressionExecutors[1].getReturnType().toString());
      }
      if (attributeExpressionExecutors[2].getReturnType() != Attribute.Type.STRING) {
        throw new ExecutionPlanValidationException("String_Node_Str" + "String_Node_Str" + "String_Node_Str" + Attribute.Type.STRING + "String_Node_Str"+ attributeExpressionExecutors[2].getReturnType().toString());
      }
    }
  }
 else {
    throw new ExecutionPlanValidationException("String_Node_Str" + "String_Node_Str" + attributeExpressionExecutors.length);
  }
}

Fixed version (ground truth):
@Override protected void init(ExpressionExecutor[] attributeExpressionExecutors,ExecutionPlanContext executionPlanContext){
  if (attributeExpressionExecutors[0].getReturnType() != Attribute.Type.LONG && attributeExpressionExecutors.length == 3) {
    useDefaultDateFormat=true;
    dateFormat=TimeExtensionConstants.EXTENSION_TIME_DEFAULT_DATE_FORMAT;
  }
  if (attributeExpressionExecutors.length == 4) {
    if (attributeExpressionExecutors[0].getReturnType() != Attribute.Type.STRING) {
      throw new ExecutionPlanValidationException("String_Node_Str" + "String_Node_Str" + "String_Node_Str" + Attribute.Type.STRING + "String_Node_Str"+ attributeExpressionExecutors[0].getReturnType().toString());
    }
    if (attributeExpressionExecutors[1].getReturnType() != Attribute.Type.INT) {
      throw new ExecutionPlanValidationException("String_Node_Str" + "String_Node_Str" + "String_Node_Str" + Attribute.Type.INT + "String_Node_Str"+ attributeExpressionExecutors[1].getReturnType().toString());
    }
    if (attributeExpressionExecutors[2].getReturnType() != Attribute.Type.STRING) {
      throw new ExecutionPlanValidationException("String_Node_Str" + "String_Node_Str" + "String_Node_Str" + Attribute.Type.STRING + "String_Node_Str"+ attributeExpressionExecutors[2].getReturnType().toString());
    }
    if (attributeExpressionExecutors[3].getReturnType() != Attribute.Type.STRING) {
      throw new ExecutionPlanValidationException("String_Node_Str" + "String_Node_Str" + "String_Node_Str" + Attribute.Type.STRING + "String_Node_Str"+ attributeExpressionExecutors[3].getReturnType().toString());
    }
  }
 else   if (attributeExpressionExecutors.length == 3) {
    if (useDefaultDateFormat) {
      if (attributeExpressionExecutors[0].getReturnType() != Attribute.Type.STRING) {
        throw new ExecutionPlanValidationException("String_Node_Str" + "String_Node_Str" + "String_Node_Str" + Attribute.Type.STRING + "String_Node_Str"+ attributeExpressionExecutors[0].getReturnType().toString());
      }
      if (attributeExpressionExecutors[1].getReturnType() != Attribute.Type.INT) {
        throw new ExecutionPlanValidationException("String_Node_Str" + "String_Node_Str" + "String_Node_Str" + Attribute.Type.INT + "String_Node_Str"+ attributeExpressionExecutors[1].getReturnType().toString());
      }
      if (attributeExpressionExecutors[2].getReturnType() != Attribute.Type.STRING) {
        throw new ExecutionPlanValidationException("String_Node_Str" + "String_Node_Str" + "String_Node_Str" + Attribute.Type.STRING + "String_Node_Str"+ attributeExpressionExecutors[2].getReturnType().toString());
      }
    }
 else {
      if (attributeExpressionExecutors[0].getReturnType() != Attribute.Type.LONG) {
        throw new ExecutionPlanValidationException("String_Node_Str" + "String_Node_Str" + "String_Node_Str" + Attribute.Type.LONG + "String_Node_Str"+ attributeExpressionExecutors[0].getReturnType().toString());
      }
      if (attributeExpressionExecutors[1].getReturnType() != Attribute.Type.INT) {
        throw new ExecutionPlanValidationException("String_Node_Str" + "String_Node_Str" + "String_Node_Str" + Attribute.Type.INT + "String_Node_Str"+ attributeExpressionExecutors[1].getReturnType().toString());
      }
      if (attributeExpressionExecutors[2].getReturnType() != Attribute.Type.STRING) {
        throw new ExecutionPlanValidationException("String_Node_Str" + "String_Node_Str" + "String_Node_Str" + Attribute.Type.STRING + "String_Node_Str"+ attributeExpressionExecutors[2].getReturnType().toString());
      }
    }
  }
 else {
    throw new ExecutionPlanValidationException("String_Node_Str" + "String_Node_Str" + attributeExpressionExecutors.length);
  }
}