Program: 69895
Project: 69895
Buggy source:
/** 
 * ConditionInterpreter interpretes course conditions.
 * @param userCourseEnv
 */
public OnlyGroupConditionInterpreter(UserCourseEnvironment userCourseEnv){
  super();
  uce=userCourseEnv;
  CourseEditorEnv cev=uce.getCourseEditorEnv();
  if (cev != null) {
    translator=new PackageTranslator(PACKAGE,cev.getEditorEnvLocale());
  }
  env=new Environment();
  env.addConstant("String_Node_Str",1);
  env.addConstant("String_Node_Str",0);
  env.addVariable(NowVariable.name,new DummyVariable(userCourseEnv));
  env.addVariable(NeverVariable.name,new NeverVariable(userCourseEnv));
  env.addFunction(DateFunction.name,new DummyDateFunction(userCourseEnv));
  env.addFunction("String_Node_Str",new InLearningGroupFunction(userCourseEnv,"String_Node_Str"));
  env.addFunction("String_Node_Str",new InLearningGroupFunction(userCourseEnv,"String_Node_Str"));
  env.addFunction(InRightGroupFunction.name,new InRightGroupFunction(userCourseEnv));
  env.addFunction(InLearningAreaFunction.name,new InLearningAreaFunction(userCourseEnv));
  env.addFunction(IsUserFunction.name,new DummyBooleanFunction(userCourseEnv));
  env.addFunction(IsGuestFunction.name,new DummyBooleanFunction(userCourseEnv));
  env.addFunction(IsGlobalAuthorFunction.name,new DummyBooleanFunction(userCourseEnv));
  env.addFunction("String_Node_Str",new DummyBooleanFunction(userCourseEnv));
  env.addFunction("String_Node_Str",new DummyBooleanFunction(userCourseEnv));
  env.addFunction(GetUserPropertyFunction.name,new DummyStringFunction(userCourseEnv));
  env.addFunction(GetUserCourseDBFunction.name,new DummyStringFunction(userCourseEnv));
  env.addFunction(HasLanguageFunction.name,new DummyBooleanFunction(userCourseEnv));
  env.addFunction(InInstitutionFunction.name,new DummyBooleanFunction(userCourseEnv));
  env.addFunction(IsCourseCoachFunction.name,new DummyBooleanFunction(userCourseEnv));
  env.addFunction(IsCourseParticipantFunction.name,new DummyBooleanFunction(userCourseEnv));
  env.addFunction(IsCourseAdministratorFunction.name,new DummyBooleanFunction(userCourseEnv));
  env.addFunction(GetAttemptsFunction.name,new DummyIntegerFunction(userCourseEnv));
  env.addFunction(GetInitialCourseLaunchDateFunction.name,new GetInitialCourseLaunchDateFunction(userCourseEnv));
  env.addFunction(GetRecentCourseLaunchDateFunction.name,new GetRecentCourseLaunchDateFunction(userCourseEnv));
  EvalAttributeFunction eaf;
  eaf=new EvalAttributeFunction(userCourseEnv,EvalAttributeFunction.FUNCTION_TYPE_HAS_ATTRIBUTE);
  env.addFunction(eaf.name,eaf);
  eaf=new EvalAttributeFunction(userCourseEnv,EvalAttributeFunction.FUNCTION_TYPE_IS_IN_ATTRIBUTE);
  env.addFunction(eaf.name,eaf);
  eaf=new EvalAttributeFunction(userCourseEnv,EvalAttributeFunction.FUNCTION_TYPE_HAS_NOT_ATTRIBUTE);
  env.addFunction(eaf.name,eaf);
  eaf=new EvalAttributeFunction(userCourseEnv,EvalAttributeFunction.FUNCTION_TYPE_IS_NOT_IN_ATTRIBUTE);
  env.addFunction(eaf.name,eaf);
  eaf=new EvalAttributeFunction(userCourseEnv,EvalAttributeFunction.FUNCTION_TYPE_ATTRIBUTE_ENDS_WITH);
  env.addFunction(eaf.name,eaf);
  eaf=new EvalAttributeFunction(userCourseEnv,EvalAttributeFunction.FUNCTION_TYPE_ATTRIBUTE_STARTS_WITH);
  env.addFunction(eaf.name,eaf);
  env.addFunction(GetInitialEnrollmentDateFunction.name,new DummyDateFunction(userCourseEnv));
  env.addFunction(GetRecentEnrollmentDateFunction.name,new DummyDateFunction(userCourseEnv));
  env.addFunction(GetPassedFunction.name,new DummyBooleanFunction(userCourseEnv));
  env.addFunction(GetScoreFunction.name,new DummyDoubleFunction(userCourseEnv));
  env.addFunction(GetPassedWithCourseIdFunction.name,new DummyBooleanFunction(userCourseEnv));
  env.addFunction(GetScoreWithCourseIdFunction.name,new DummyDoubleFunction(userCourseEnv));
  env.addUnit("String_Node_Str",new MinuteUnit());
  env.addUnit("String_Node_Str",new HourUnit());
  env.addUnit("String_Node_Str",new DayUnit());
  env.addUnit("String_Node_Str",new WeekUnit());
  env.addUnit("String_Node_Str",new MonthUnit());
}

Fixed version (ground truth):
/** 
 * ConditionInterpreter interpretes course conditions.
 * @param userCourseEnv
 */
public OnlyGroupConditionInterpreter(UserCourseEnvironment userCourseEnv){
  super();
  uce=userCourseEnv;
  CourseEditorEnv cev=uce.getCourseEditorEnv();
  if (cev != null) {
    translator=new PackageTranslator(PACKAGE,cev.getEditorEnvLocale());
  }
  env=new Environment();
  env.addConstant("String_Node_Str",1);
  env.addConstant("String_Node_Str",0);
  env.addVariable(NowVariable.name,new DummyVariable(userCourseEnv));
  env.addVariable(NeverVariable.name,new NeverVariable(userCourseEnv));
  env.addFunction(DateFunction.name,new DummyDateFunction(userCourseEnv));
  env.addFunction("String_Node_Str",new InLearningGroupFunction(userCourseEnv,"String_Node_Str"));
  env.addFunction("String_Node_Str",new InLearningGroupFunction(userCourseEnv,"String_Node_Str"));
  env.addFunction(InRightGroupFunction.name,new InRightGroupFunction(userCourseEnv));
  env.addFunction(InLearningAreaFunction.name,new InLearningAreaFunction(userCourseEnv));
  env.addFunction(IsUserFunction.name,new DummyBooleanFunction(userCourseEnv));
  env.addFunction(IsGuestFunction.name,new DummyBooleanFunction(userCourseEnv));
  env.addFunction(IsGlobalAuthorFunction.name,new DummyBooleanFunction(userCourseEnv));
  env.addFunction(Sleep.name,new Sleep(userCourseEnv));
  env.addFunction("String_Node_Str",new DummyBooleanFunction(userCourseEnv));
  env.addFunction("String_Node_Str",new DummyBooleanFunction(userCourseEnv));
  env.addFunction(GetUserPropertyFunction.name,new DummyStringFunction(userCourseEnv));
  env.addFunction(GetUserCourseDBFunction.name,new DummyStringFunction(userCourseEnv));
  env.addFunction(HasLanguageFunction.name,new DummyBooleanFunction(userCourseEnv));
  env.addFunction(InInstitutionFunction.name,new DummyBooleanFunction(userCourseEnv));
  env.addFunction(IsCourseCoachFunction.name,new DummyBooleanFunction(userCourseEnv));
  env.addFunction(IsCourseParticipantFunction.name,new DummyBooleanFunction(userCourseEnv));
  env.addFunction(IsCourseAdministratorFunction.name,new DummyBooleanFunction(userCourseEnv));
  env.addFunction(GetAttemptsFunction.name,new DummyIntegerFunction(userCourseEnv));
  env.addFunction(GetInitialCourseLaunchDateFunction.name,new GetInitialCourseLaunchDateFunction(userCourseEnv));
  env.addFunction(GetRecentCourseLaunchDateFunction.name,new GetRecentCourseLaunchDateFunction(userCourseEnv));
  EvalAttributeFunction eaf;
  eaf=new EvalAttributeFunction(userCourseEnv,EvalAttributeFunction.FUNCTION_TYPE_HAS_ATTRIBUTE);
  env.addFunction(eaf.name,eaf);
  eaf=new EvalAttributeFunction(userCourseEnv,EvalAttributeFunction.FUNCTION_TYPE_IS_IN_ATTRIBUTE);
  env.addFunction(eaf.name,eaf);
  eaf=new EvalAttributeFunction(userCourseEnv,EvalAttributeFunction.FUNCTION_TYPE_HAS_NOT_ATTRIBUTE);
  env.addFunction(eaf.name,eaf);
  eaf=new EvalAttributeFunction(userCourseEnv,EvalAttributeFunction.FUNCTION_TYPE_IS_NOT_IN_ATTRIBUTE);
  env.addFunction(eaf.name,eaf);
  eaf=new EvalAttributeFunction(userCourseEnv,EvalAttributeFunction.FUNCTION_TYPE_ATTRIBUTE_ENDS_WITH);
  env.addFunction(eaf.name,eaf);
  eaf=new EvalAttributeFunction(userCourseEnv,EvalAttributeFunction.FUNCTION_TYPE_ATTRIBUTE_STARTS_WITH);
  env.addFunction(eaf.name,eaf);
  env.addFunction(GetInitialEnrollmentDateFunction.name,new DummyDateFunction(userCourseEnv));
  env.addFunction(GetRecentEnrollmentDateFunction.name,new DummyDateFunction(userCourseEnv));
  env.addFunction(GetPassedFunction.name,new DummyBooleanFunction(userCourseEnv));
  env.addFunction(GetScoreFunction.name,new DummyDoubleFunction(userCourseEnv));
  env.addFunction(GetPassedWithCourseIdFunction.name,new DummyBooleanFunction(userCourseEnv));
  env.addFunction(GetScoreWithCourseIdFunction.name,new DummyDoubleFunction(userCourseEnv));
  env.addUnit("String_Node_Str",new MinuteUnit());
  env.addUnit("String_Node_Str",new HourUnit());
  env.addUnit("String_Node_Str",new DayUnit());
  env.addUnit("String_Node_Str",new WeekUnit());
  env.addUnit("String_Node_Str",new MonthUnit());
}