Program: 12028
Project: 12028
Buggy source:
/** 
 * Get the available class name in source code.
 * @param returnTypeToCheck return type to check
 * @param testTargetClassname test target class name
 * @param importList import list
 * @return result
 */
protected static String getClassInSourceCode(String returnTypeToCheck,String testTargetClassname,List<String> importList){
  if (returnTypeToCheck.matches("String_Node_Str"))   return returnTypeToCheck;
  boolean isArray=false;
  if (returnTypeToCheck.matches("String_Node_Str")) {
    isArray=true;
    returnTypeToCheck=returnTypeToCheck.replaceAll("String_Node_Str","String_Node_Str");
  }
  String returnTypeName="String_Node_Str";
  boolean returnTypeFound=false;
  try {
    if (PrimitiveTypeUtil.isPrimitive(returnTypeToCheck)) {
      returnTypeFound=true;
      if (!returnTypeName.matches("String_Node_Str"))       returnTypeName=PrimitiveTypeUtil.getTypeDefaultValue(returnTypeToCheck);
    }
 else {
      try {
        Class.forName("String_Node_Str" + returnTypeToCheck);
        returnTypeFound=true;
      }
 catch (      Exception ignore) {
      }
      if (!returnTypeFound)       Class.forName(returnTypeToCheck);
    }
  }
 catch (  Exception e) {
    if (returnTypeToCheck.equals(testTargetClassname))     returnTypeFound=true;
    for (    String importedPackage : importList) {
      importedPackage=importedPackage.replaceAll("String_Node_Str",StrConst.empty);
      if (importedPackage.matches("String_Node_Str" + returnTypeToCheck.replaceAll("String_Node_Str","String_Node_Str").replaceAll("String_Node_Str","String_Node_Str") + "String_Node_Str")) {
        returnTypeFound=true;
        break;
      }
    }
  }
  if (!returnTypeFound) {
    return isArray ? returnTypeName + "String_Node_Str" : returnTypeName;
  }
 else {
    return isArray ? returnTypeToCheck + "String_Node_Str" : returnTypeToCheck;
  }
}

Fixed version (ground truth):
/** 
 * Get the available class name in source code.
 * @param returnTypeToCheck return type to check
 * @param testTargetClassname test target class name
 * @param importList import list
 * @return result
 */
protected static String getClassInSourceCode(String returnTypeToCheck,String testTargetClassname,List<String> importList){
  if (returnTypeToCheck.matches("String_Node_Str"))   return returnTypeToCheck;
  boolean isArray=false;
  if (returnTypeToCheck.matches("String_Node_Str")) {
    isArray=true;
    returnTypeToCheck=returnTypeToCheck.replaceAll("String_Node_Str","String_Node_Str");
  }
  String returnTypeName="String_Node_Str";
  boolean returnTypeFound=false;
  try {
    if (PrimitiveTypeUtil.isPrimitive(returnTypeToCheck)) {
      returnTypeFound=true;
      if (!returnTypeName.matches("String_Node_Str"))       returnTypeName=PrimitiveTypeUtil.getTypeDefaultValue(returnTypeToCheck);
    }
 else {
      try {
        Class.forName("String_Node_Str" + returnTypeToCheck);
        returnTypeFound=true;
      }
 catch (      Exception ignore) {
      }
      if (!returnTypeFound)       Class.forName(returnTypeToCheck);
    }
  }
 catch (  Exception e) {
    if (returnTypeToCheck.equals(testTargetClassname))     returnTypeFound=true;
    for (    String importedPackage : importList) {
      importedPackage=importedPackage.replaceAll("String_Node_Str",StrConst.empty);
      try {
        if (importedPackage.matches("String_Node_Str" + returnTypeToCheck.replaceAll("String_Node_Str","String_Node_Str").replaceAll("String_Node_Str","String_Node_Str") + "String_Node_Str")) {
          returnTypeFound=true;
          break;
        }
      }
 catch (      Exception e2) {
        e2.printStackTrace();
      }
    }
  }
  if (!returnTypeFound) {
    return isArray ? returnTypeName + "String_Node_Str" : returnTypeName;
  }
 else {
    return isArray ? returnTypeToCheck + "String_Node_Str" : returnTypeToCheck;
  }
}