Program: 171144
Project: 171144
Buggy source:
private void createHiveTypes() throws Exception {
  HierarchicalTypeDefinition<ClassType> databaseTypeDefinition=TypesUtil.createClassTypeDef(DATABASE_TYPE,ImmutableList.<String>of(),TypesUtil.createUniqueRequiredAttrDef("String_Node_Str",DataTypes.STRING_TYPE),TypesUtil.createRequiredAttrDef("String_Node_Str",DataTypes.STRING_TYPE));
  StructTypeDefinition structTypeDefinition=new StructTypeDefinition("String_Node_Str",new AttributeDefinition[]{TypesUtil.createRequiredAttrDef("String_Node_Str",DataTypes.STRING_TYPE),TypesUtil.createRequiredAttrDef("String_Node_Str",DataTypes.STRING_TYPE)});
  EnumValue values[]={new EnumValue("String_Node_Str",1),new EnumValue("String_Node_Str",2)};
  EnumTypeDefinition enumTypeDefinition=new EnumTypeDefinition("String_Node_Str",values);
  typeSystem.defineEnumType(enumTypeDefinition);
  HierarchicalTypeDefinition<ClassType> columnsDefinition=TypesUtil.createClassTypeDef("String_Node_Str",ImmutableList.<String>of(),TypesUtil.createRequiredAttrDef("String_Node_Str",DataTypes.STRING_TYPE),TypesUtil.createRequiredAttrDef("String_Node_Str",DataTypes.STRING_TYPE));
  StructTypeDefinition partitionDefinition=new StructTypeDefinition("String_Node_Str",new AttributeDefinition[]{TypesUtil.createRequiredAttrDef("String_Node_Str",DataTypes.STRING_TYPE)});
  HierarchicalTypeDefinition<ClassType> tableTypeDefinition=TypesUtil.createClassTypeDef(TABLE_TYPE,ImmutableList.<String>of(),TypesUtil.createUniqueRequiredAttrDef("String_Node_Str",DataTypes.STRING_TYPE),TypesUtil.createRequiredAttrDef("String_Node_Str",DataTypes.STRING_TYPE),TypesUtil.createRequiredAttrDef("String_Node_Str",DataTypes.STRING_TYPE),new AttributeDefinition("String_Node_Str","String_Node_Str",Multiplicity.REQUIRED,false,null),new AttributeDefinition("String_Node_Str",String.format("String_Node_Str",DataTypes.STRING_TYPE.getName()),Multiplicity.COLLECTION,false,null),new AttributeDefinition("String_Node_Str",String.format("String_Node_Str","String_Node_Str"),Multiplicity.COLLECTION,true,null),new AttributeDefinition("String_Node_Str",String.format("String_Node_Str","String_Node_Str"),Multiplicity.COLLECTION,true,null),new AttributeDefinition("String_Node_Str","String_Node_Str",Multiplicity.REQUIRED,false,null),new AttributeDefinition("String_Node_Str","String_Node_Str",Multiplicity.REQUIRED,false,null),new AttributeDefinition("String_Node_Str",DATABASE_TYPE,Multiplicity.REQUIRED,true,null));
  HierarchicalTypeDefinition<TraitType> classificationTypeDefinition=TypesUtil.createTraitTypeDef(CLASSIFICATION,ImmutableList.<String>of(),TypesUtil.createRequiredAttrDef("String_Node_Str",DataTypes.STRING_TYPE));
  typeSystem.defineTypes(ImmutableList.of(structTypeDefinition,partitionDefinition),ImmutableList.of(classificationTypeDefinition),ImmutableList.of(databaseTypeDefinition,columnsDefinition,tableTypeDefinition));
}

Fixed version (ground truth):
private void createHiveTypes() throws Exception {
  HierarchicalTypeDefinition<ClassType> databaseTypeDefinition=TypesUtil.createClassTypeDef(DATABASE_TYPE,ImmutableList.<String>of(),TypesUtil.createUniqueRequiredAttrDef("String_Node_Str",DataTypes.STRING_TYPE),TypesUtil.createRequiredAttrDef("String_Node_Str",DataTypes.STRING_TYPE));
  StructTypeDefinition structTypeDefinition=new StructTypeDefinition("String_Node_Str",new AttributeDefinition[]{TypesUtil.createRequiredAttrDef("String_Node_Str",DataTypes.STRING_TYPE),TypesUtil.createRequiredAttrDef("String_Node_Str",DataTypes.STRING_TYPE)});
  EnumValue values[]={new EnumValue("String_Node_Str",1),new EnumValue("String_Node_Str",2)};
  EnumTypeDefinition enumTypeDefinition=new EnumTypeDefinition("String_Node_Str",values);
  typeSystem.defineEnumType(enumTypeDefinition);
  HierarchicalTypeDefinition<ClassType> columnsDefinition=TypesUtil.createClassTypeDef("String_Node_Str",ImmutableList.<String>of(),TypesUtil.createRequiredAttrDef("String_Node_Str",DataTypes.STRING_TYPE),TypesUtil.createRequiredAttrDef("String_Node_Str",DataTypes.STRING_TYPE));
  StructTypeDefinition partitionDefinition=new StructTypeDefinition("String_Node_Str",new AttributeDefinition[]{TypesUtil.createRequiredAttrDef("String_Node_Str",DataTypes.STRING_TYPE)});
  HierarchicalTypeDefinition<ClassType> tableTypeDefinition=TypesUtil.createClassTypeDef(TABLE_TYPE,ImmutableList.<String>of(),TypesUtil.createUniqueRequiredAttrDef("String_Node_Str",DataTypes.STRING_TYPE),TypesUtil.createRequiredAttrDef("String_Node_Str",DataTypes.STRING_TYPE),TypesUtil.createRequiredAttrDef("String_Node_Str",DataTypes.STRING_TYPE),new AttributeDefinition("String_Node_Str","String_Node_Str",Multiplicity.REQUIRED,false,null),new AttributeDefinition("String_Node_Str",String.format("String_Node_Str",DataTypes.STRING_TYPE.getName()),Multiplicity.COLLECTION,false,null),new AttributeDefinition("String_Node_Str",String.format("String_Node_Str","String_Node_Str"),Multiplicity.COLLECTION,true,null),new AttributeDefinition("String_Node_Str",String.format("String_Node_Str","String_Node_Str"),Multiplicity.COLLECTION,true,null),new AttributeDefinition("String_Node_Str",DataTypes.mapTypeName(DataTypes.STRING_TYPE.getName(),DataTypes.STRING_TYPE.getName()),Multiplicity.COLLECTION,true,null),new AttributeDefinition("String_Node_Str","String_Node_Str",Multiplicity.REQUIRED,false,null),new AttributeDefinition("String_Node_Str","String_Node_Str",Multiplicity.REQUIRED,false,null),new AttributeDefinition("String_Node_Str",DATABASE_TYPE,Multiplicity.REQUIRED,true,null));
  HierarchicalTypeDefinition<TraitType> classificationTypeDefinition=TypesUtil.createTraitTypeDef(CLASSIFICATION,ImmutableList.<String>of(),TypesUtil.createRequiredAttrDef("String_Node_Str",DataTypes.STRING_TYPE));
  typeSystem.defineTypes(ImmutableList.of(structTypeDefinition,partitionDefinition),ImmutableList.of(classificationTypeDefinition),ImmutableList.of(databaseTypeDefinition,columnsDefinition,tableTypeDefinition));
}