Program: 109989
Project: 109989
Buggy source:
static String generateHTMLQuestion(int uid,String text,String resource,String[] options,boolean exclusive,boolean ordered,boolean perturb){
  String HTMLString="String_Node_Str" + Integer.toString(uid) + "String_Node_Str";
  HTMLString+=replaceSpecialCharacters(text);
  if (!resource.equals("String_Node_Str")) {
    if (resource.contains("String_Node_Str") || resource.contains("String_Node_Str") || resource.contains("String_Node_Str")|| resource.contains("String_Node_Str")) {
      HTMLString+="String_Node_Str" + resource + "String_Node_Str";
    }
 else     if (resource.contains("String_Node_Str") || resource.contains("String_Node_Str") || resource.contains("String_Node_Str")|| resource.contains("String_Node_Str")) {
      HTMLString+="String_Node_Str" + resource + "String_Node_Str";
    }
  }
  HTMLString+="String_Node_Str";
  if (options.length > 10) {
    HTMLString+="String_Node_Str";
    for (int i=0; i < options.length; i++) {
      HTMLString+="String_Node_Str" + replaceSpecialCharacters(options[i]) + "String_Node_Str";
    }
    HTMLString+="String_Node_Str";
  }
 else   if (exclusive) {
    for (int i=0; i < options.length; i++) {
      HTMLString+="String_Node_Str" + Integer.toString(uid) + "String_Node_Str"+ oids.get(uid).get(options[i])+ "String_Node_Str";
      HTMLString+=replaceSpecialCharacters(options[i]);
    }
  }
 else {
    for (int i=0; i < options.length; i++) {
      HTMLString+="String_Node_Str" + Integer.toString(uid) + "String_Node_Str"+ oids.get(uid).get(options[i])+ "String_Node_Str";
      HTMLString+=replaceSpecialCharacters(options[i]);
    }
  }
  HTMLString+="String_Node_Str";
  HTMLString+="String_Node_Str";
  HTMLString+="String_Node_Str";
  HTMLString+="String_Node_Str";
  return HTMLString;
}

Fixed version (ground truth):
static String generateHTMLQuestion(int uid,String text,String resource,String[] options,boolean exclusive,boolean ordered,boolean perturb){
  String HTMLString="String_Node_Str" + Integer.toString(uid) + "String_Node_Str";
  HTMLString+=replaceSpecialCharacters(text);
  if (!resource.equals("String_Node_Str")) {
    if (resource.contains("String_Node_Str") || resource.contains("String_Node_Str") || resource.contains("String_Node_Str")|| resource.contains("String_Node_Str")) {
      HTMLString+="String_Node_Str" + resource + "String_Node_Str";
    }
 else     if (resource.contains("String_Node_Str") || resource.contains("String_Node_Str") || resource.contains("String_Node_Str")|| resource.contains("String_Node_Str")) {
      HTMLString+="String_Node_Str" + resource + "String_Node_Str";
    }
  }
  HTMLString+="String_Node_Str";
  if (options.length > 10) {
    HTMLString+="String_Node_Str" + Integer.toString(uid) + "String_Node_Str";
    for (int i=0; i < options.length; i++) {
      HTMLString+="String_Node_Str" + Integer.toString(uid) + "String_Node_Str"+ oids.get(uid).get(options[i])+ "String_Node_Str"+ replaceSpecialCharacters(options[i])+ "String_Node_Str";
    }
    HTMLString+="String_Node_Str";
  }
 else   if (exclusive) {
    for (int i=0; i < options.length; i++) {
      HTMLString+="String_Node_Str" + Integer.toString(uid) + "String_Node_Str"+ oids.get(uid).get(options[i])+ "String_Node_Str";
      HTMLString+=replaceSpecialCharacters(options[i]);
    }
  }
 else {
    for (int i=0; i < options.length; i++) {
      HTMLString+="String_Node_Str" + Integer.toString(uid) + "String_Node_Str"+ oids.get(uid).get(options[i])+ "String_Node_Str";
      HTMLString+=replaceSpecialCharacters(options[i]);
    }
  }
  HTMLString+="String_Node_Str";
  HTMLString+="String_Node_Str";
  HTMLString+="String_Node_Str";
  HTMLString+="String_Node_Str";
  return HTMLString;
}