Program: 5381
Project: 5381
Buggy source:
public boolean validate(){
  cleanWarnings();
  cleanErrors();
  boolean valid=true;
  if (getRole() == null) {
    addError("String_Node_Str");
    valid=false;
  }
  if (getRole() != null && getRole().getActionName() != null) {
    if (getRole().getActionName().equals(NCLDefaultActionRole.SET)) {
      if (getValue() == null && getParamValue() == null) {
        addError("String_Node_Str");
        valid=false;
      }
    }
 else {
      if (getValue() != null || getParamValue() != null) {
        addWarning("String_Node_Str");
        valid=false;
      }
    }
  }
 else {
    if (getEventType() == null || getActionType() == null) {
      addError("String_Node_Str");
      valid=false;
    }
 else     if (getEventType().equals(NCLEventType.ATTRIBUTION)) {
      if (getValue() == null && getParamValue() == null) {
        addError("String_Node_Str");
        valid=false;
      }
    }
 else {
      if (getValue() != null || getParamValue() != null) {
        addWarning("String_Node_Str");
        valid=false;
      }
      if (getDuration() != null || getParamDuration() != null || getBy() != null || getParamBy() != null) {
        addWarning("String_Node_Str");
        valid=false;
      }
    }
  }
  if ((getRepeatDelay() != null || getParamRepeatDelay() != null) && (getRepeat() == null && getParamRepeat() == null)) {
    addWarning("String_Node_Str");
    valid=false;
  }
  if ((getDuration() == null && getParamDuration() == null) || (getBy() == null && getParamBy() == null)) {
    addWarning("String_Node_Str");
    valid=false;
  }
  if (getMax() == 1 && getQualifier() != null) {
    addWarning("String_Node_Str");
    valid=false;
  }
 else   if (getMax() != 1 && getQualifier() == null) {
    addWarning("String_Node_Str");
    valid=false;
  }
  return valid;
}

Fixed version (ground truth):
public boolean validate(){
  cleanWarnings();
  cleanErrors();
  boolean valid=true;
  if (getRole() == null) {
    addError("String_Node_Str");
    valid=false;
  }
  if (getRole() != null && getRole().getActionName() != null) {
    if (getRole().getActionName().equals(NCLDefaultActionRole.SET)) {
      if (getValue() == null && getParamValue() == null) {
        addError("String_Node_Str");
        valid=false;
      }
    }
 else {
      if (getValue() != null || getParamValue() != null) {
        addWarning("String_Node_Str");
        valid=false;
      }
    }
  }
 else {
    if (getEventType() == null || getActionType() == null) {
      addError("String_Node_Str");
      valid=false;
    }
 else     if (getEventType().equals(NCLEventType.ATTRIBUTION)) {
      if (getValue() == null && getParamValue() == null) {
        addError("String_Node_Str");
        valid=false;
      }
    }
 else {
      if (getValue() != null || getParamValue() != null) {
        addWarning("String_Node_Str");
        valid=false;
      }
      if (getDuration() != null || getParamDuration() != null || getBy() != null || getParamBy() != null) {
        addWarning("String_Node_Str");
        valid=false;
      }
    }
  }
  if ((getRepeatDelay() != null || getParamRepeatDelay() != null) && (getRepeat() == null && getParamRepeat() == null)) {
    addWarning("String_Node_Str");
    valid=false;
  }
  if ((getDuration() != null || getParamDuration() != null) && (getBy() == null && getParamBy() == null)) {
    addWarning("String_Node_Str");
    valid=false;
  }
  if (getMax() != null && getMax() == 1 && getQualifier() != null) {
    addWarning("String_Node_Str");
    valid=false;
  }
 else   if (getMax() != null && getMax() != 1 && getQualifier() == null) {
    addWarning("String_Node_Str");
    valid=false;
  }
  return valid;
}