Program: 62896
Project: 62896
Buggy source:
@Override protected ActionResult execute() throws EntityDoesNotExistException {
  String courseId=getRequestParamValue(Const.ParamsNames.COURSE_ID);
  String feedbackSessionName=getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_NAME);
  Assumption.assertNotNull(courseId);
  Assumption.assertNotNull(feedbackSessionName);
  new GateKeeper().verifyAccessible(logic.getInstructorForGoogleId(courseId,account.googleId),logic.getFeedbackSession(feedbackSessionName,courseId),true);
  String editType=getRequestParamValue(Const.ParamsNames.FEEDBACK_QUESTION_EDITTYPE);
  Assumption.assertNotNull("String_Node_Str",editType);
  FeedbackQuestionAttributes updatedQuestion=extractFeedbackQuestionData(requestParameters);
  try {
    if (editType.equals("String_Node_Str")) {
      if (updatedQuestion.questionNumber != 0) {
        logic.updateFeedbackQuestionNumber(updatedQuestion);
        statusToUser.add(Const.StatusMessages.FEEDBACK_QUESTION_EDITED);
      }
 else {
        logic.updateFeedbackQuestion(updatedQuestion);
        statusToUser.add(Const.StatusMessages.FEEDBACK_QUESTION_EDITED);
        statusToAdmin="String_Node_Str" + updatedQuestion.questionNumber + "String_Node_Str"+ updatedQuestion.feedbackSessionName+ "String_Node_Str"+ updatedQuestion.courseId+ "String_Node_Str"+ "String_Node_Str"+ updatedQuestion.getQuestionDetails().getQuestionTypeDisplayName()+ "String_Node_Str"+ updatedQuestion.getQuestionDetails().questionText;
      }
    }
 else     if (editType.equals("String_Node_Str")) {
      logic.deleteFeedbackQuestion(updatedQuestion.getId());
      statusToUser.add(Const.StatusMessages.FEEDBACK_QUESTION_DELETED);
      statusToAdmin="String_Node_Str" + updatedQuestion.questionNumber + "String_Node_Str"+ updatedQuestion.feedbackSessionName+ "String_Node_Str"+ updatedQuestion.courseId+ "String_Node_Str";
    }
 else {
      Assumption.fail("String_Node_Str");
    }
  }
 catch (  InvalidParametersException e) {
    setStatusForException(e);
  }
  return createRedirectResult(new PageData(account).getInstructorFeedbackSessionEditLink(courseId,feedbackSessionName));
}

Fixed version (ground truth):
@Override protected ActionResult execute() throws EntityDoesNotExistException {
  String courseId=getRequestParamValue(Const.ParamsNames.COURSE_ID);
  String feedbackSessionName=getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_NAME);
  Assumption.assertNotNull(courseId);
  Assumption.assertNotNull(feedbackSessionName);
  new GateKeeper().verifyAccessible(logic.getInstructorForGoogleId(courseId,account.googleId),logic.getFeedbackSession(feedbackSessionName,courseId),true);
  String editType=getRequestParamValue(Const.ParamsNames.FEEDBACK_QUESTION_EDITTYPE);
  Assumption.assertNotNull("String_Node_Str",editType);
  FeedbackQuestionAttributes updatedQuestion=extractFeedbackQuestionData(requestParameters);
  List<String> questionDetailsErrors=updatedQuestion.getQuestionDetails().validateQuestionDetails();
  if (questionDetailsErrors.size() > 0) {
    statusToUser.addAll(questionDetailsErrors);
  }
 else {
    try {
      if (editType.equals("String_Node_Str")) {
        if (updatedQuestion.questionNumber != 0) {
          logic.updateFeedbackQuestionNumber(updatedQuestion);
          statusToUser.add(Const.StatusMessages.FEEDBACK_QUESTION_EDITED);
        }
 else {
          logic.updateFeedbackQuestion(updatedQuestion);
          statusToUser.add(Const.StatusMessages.FEEDBACK_QUESTION_EDITED);
          statusToAdmin="String_Node_Str" + updatedQuestion.questionNumber + "String_Node_Str"+ updatedQuestion.feedbackSessionName+ "String_Node_Str"+ updatedQuestion.courseId+ "String_Node_Str"+ "String_Node_Str"+ updatedQuestion.getQuestionDetails().getQuestionTypeDisplayName()+ "String_Node_Str"+ updatedQuestion.getQuestionDetails().questionText;
        }
      }
 else       if (editType.equals("String_Node_Str")) {
        logic.deleteFeedbackQuestion(updatedQuestion.getId());
        statusToUser.add(Const.StatusMessages.FEEDBACK_QUESTION_DELETED);
        statusToAdmin="String_Node_Str" + updatedQuestion.questionNumber + "String_Node_Str"+ updatedQuestion.feedbackSessionName+ "String_Node_Str"+ updatedQuestion.courseId+ "String_Node_Str";
      }
 else {
        Assumption.fail("String_Node_Str");
      }
    }
 catch (    InvalidParametersException e) {
      setStatusForException(e);
    }
  }
  return createRedirectResult(new PageData(account).getInstructorFeedbackSessionEditLink(courseId,feedbackSessionName));
}