Program: 15685
Project: 15685
Buggy source:
private static int getSaveTokenType(String s,boolean supportOffsetFetch){
switch (s.charAt(0)) {
case 'C':
    if (s.equals("String_Node_Str")) {
      return KEYWORD;
    }
  if (s.equals("String_Node_Str")) {
    return KEYWORD;
  }
 else   if (s.equals("String_Node_Str")) {
    return CURRENT_TIMESTAMP;
  }
 else   if (s.equals("String_Node_Str")) {
    return CURRENT_TIME;
  }
 else   if (s.equals("String_Node_Str")) {
    return CURRENT_DATE;
  }
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'D':
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'E':
if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'F':
if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
 else if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
 else if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
 else if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
 else if (supportOffsetFetch && "String_Node_Str".equals(s)) {
return KEYWORD;
}
return getKeywordOrIdentifier(s,"String_Node_Str",FALSE);
case 'G':
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'H':
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'I':
if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
 else if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'J':
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'K':
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'L':
if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'M':
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'N':
if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
 else if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
 else if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
return getKeywordOrIdentifier(s,"String_Node_Str",NULL);
case 'O':
if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
 else if (supportOffsetFetch && "String_Node_Str".equals(s)) {
return KEYWORD;
}
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'P':
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'R':
return getKeywordOrIdentifier(s,"String_Node_Str",ROWNUM);
case 'S':
if (s.equals("String_Node_Str")) {
return CURRENT_TIMESTAMP;
}
 else if (s.equals("String_Node_Str")) {
return CURRENT_TIME;
}
 else if (s.equals("String_Node_Str")) {
return CURRENT_TIMESTAMP;
}
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'T':
if ("String_Node_Str".equals(s)) {
return CURRENT_DATE;
}
return getKeywordOrIdentifier(s,"String_Node_Str",TRUE);
case 'U':
if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'W':
if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
default :
return IDENTIFIER;
}
}

Fixed version (ground truth):
private static int getSaveTokenType(String s,boolean supportOffsetFetch){
switch (s.charAt(0)) {
case 'C':
    if (s.equals("String_Node_Str")) {
      return KEYWORD;
    }
 else     if (s.equals("String_Node_Str")) {
      return CURRENT_TIMESTAMP;
    }
 else     if (s.equals("String_Node_Str")) {
      return CURRENT_TIME;
    }
 else     if (s.equals("String_Node_Str")) {
      return CURRENT_DATE;
    }
  return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'D':
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'E':
if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'F':
if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
 else if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
 else if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
 else if (supportOffsetFetch && "String_Node_Str".equals(s)) {
return KEYWORD;
}
return getKeywordOrIdentifier(s,"String_Node_Str",FALSE);
case 'G':
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'H':
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'I':
if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
 else if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'J':
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'L':
if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'M':
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'N':
if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
 else if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
return getKeywordOrIdentifier(s,"String_Node_Str",NULL);
case 'O':
if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
 else if (supportOffsetFetch && "String_Node_Str".equals(s)) {
return KEYWORD;
}
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'P':
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'R':
return getKeywordOrIdentifier(s,"String_Node_Str",ROWNUM);
case 'S':
if (s.equals("String_Node_Str")) {
return CURRENT_TIMESTAMP;
}
 else if (s.equals("String_Node_Str")) {
return CURRENT_TIME;
}
 else if (s.equals("String_Node_Str")) {
return CURRENT_TIMESTAMP;
}
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'T':
if ("String_Node_Str".equals(s)) {
return CURRENT_DATE;
}
return getKeywordOrIdentifier(s,"String_Node_Str",TRUE);
case 'U':
if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
case 'W':
if ("String_Node_Str".equals(s)) {
return KEYWORD;
}
return getKeywordOrIdentifier(s,"String_Node_Str",KEYWORD);
default :
return IDENTIFIER;
}
}