Program: 59080
Project: 59080
Buggy source:
public HashMap<Integer,GlyphEntry> loadGlyphs(ISet glyphData){
  GLCanvasGlyphGenerator generator=generalManager.getGlyphManager().getGlyphGenerator();
  glyphs=new HashMap<Integer,GlyphEntry>();
  ArrayList<IStorage> alStorages=new ArrayList<IStorage>();
  for (  IStorage tmpStorage : glyphData) {
    alStorages.add(tmpStorage);
  }
  ArrayList<int[]> aliStoreMapped=new ArrayList<int[]>();
  ArrayList<String[]> alsStoreString=new ArrayList<String[]>();
  ArrayList<String> alsStoreStringColTitel=new ArrayList<String>();
{
    int counter=0;
    int pcounter=0;
    for (    IStorage tmpStorage : alStorages) {
      GlyphAttributeType glyphAttributeType=generalManager.getGlyphManager().getGlyphAttributeTypeWithExternalColumnNumber(counter);
      if (glyphAttributeType != null) {
        if (tmpStorage instanceof NominalStorage && tmpStorage.getRawDataType() == ERawDataType.STRING) {
          INominalStorage<String> nominalStorage=(INominalStorage<String>)tmpStorage;
          int[] temp2=new int[nominalStorage.size()];
          for (int i=0; i < nominalStorage.size(); ++i) {
            int t2=glyphAttributeType.getIndex(nominalStorage.get(EDataKind.RAW,i));
            if (nominalStorage.get(EDataKind.RAW,i) == null) {
              this.generalManager.getLogger().log(Level.WARNING,"String_Node_Str");
              temp2[i]=-1;
            }
            if (glyphAttributeType.doesAutomaticAttribute() && t2 == -1) {
              try {
                t2=Integer.parseInt(nominalStorage.get(EDataKind.RAW,i));
              }
 catch (              NumberFormatException ex) {
              }
              glyphAttributeType.addAttribute(t2,nominalStorage.get(EDataKind.RAW,i),(float)t2);
            }
            if (t2 == -1 && !(nominalStorage.get(EDataKind.RAW,i)).equals("String_Node_Str"))             this.generalManager.getLogger().log(Level.WARNING,"String_Node_Str" + tmpStorage.getLabel() + "String_Node_Str"+ nominalStorage.get(EDataKind.RAW,i));
            temp2[i]=t2;
            glyphAttributeType.incDistribution(t2);
          }
          aliStoreMapped.add(temp2);
        }
 else {
          this.generalManager.getLogger().log(Level.WARNING,"String_Node_Str" + tmpStorage.getLabel());
        }
        glyphAttributeType.setInternalColumnNumber(pcounter);
        ++pcounter;
      }
 else {
        if (tmpStorage instanceof NominalStorage && tmpStorage.getRawDataType() == ERawDataType.STRING) {
          alsStoreStringColTitel.add(tmpStorage.getLabel());
          String[] sArTmp=new String[tmpStorage.size()];
          for (int iCount=0; iCount < tmpStorage.size(); iCount++) {
            sArTmp[iCount]=((INominalStorage<String>)tmpStorage).get(EDataKind.RAW,iCount);
          }
          alsStoreString.add(sArTmp);
        }
 else         System.out.println("String_Node_Str" + tmpStorage.getLabel());
      }
      ++counter;
    }
  }
  if (aliStoreMapped.size() <= 0) {
    this.generalManager.getLogger().log(Level.SEVERE,"String_Node_Str");
    return glyphs;
  }
  int size=aliStoreMapped.get(0).length;
  int counter=1;
  for (int i=0; i < size; ++i) {
    GlyphEntry g=new GlyphEntry(generalManager,counter,generator);
    for (    int[] s : aliStoreMapped)     g.addParameter(s[i]);
    for (int j=0; j < alsStoreStringColTitel.size(); ++j)     g.addStringParameter(alsStoreStringColTitel.get(j),alsStoreString.get(j)[i]);
    glyphs.put(counter,g);
    ++counter;
  }
  generalManager.getGlyphManager().addGlyphs(glyphs);
  return glyphs;
}

Fixed version (ground truth):
public HashMap<Integer,GlyphEntry> loadGlyphs(ISet glyphData){
  GLCanvasGlyphGenerator generator=generalManager.getGlyphManager().getGlyphGenerator();
  glyphs=new HashMap<Integer,GlyphEntry>();
  ArrayList<IStorage> alStorages=new ArrayList<IStorage>();
  for (  IStorage tmpStorage : glyphData) {
    alStorages.add(tmpStorage);
  }
  ArrayList<int[]> aliStoreMapped=new ArrayList<int[]>();
  ArrayList<String[]> alsStoreString=new ArrayList<String[]>();
  ArrayList<String> alsStoreStringColTitel=new ArrayList<String>();
{
    int counter=0;
    int pcounter=0;
    for (    IStorage tmpStorage : alStorages) {
      GlyphAttributeType glyphAttributeType=generalManager.getGlyphManager().getGlyphAttributeTypeWithExternalColumnNumber(counter);
      if (glyphAttributeType != null) {
        if (tmpStorage instanceof NominalStorage && tmpStorage.getRawDataType() == ERawDataType.STRING) {
          INominalStorage<String> nominalStorage=(INominalStorage<String>)tmpStorage;
          int[] temp2=new int[nominalStorage.size()];
          for (int i=0; i < nominalStorage.size(); ++i) {
            int t2=glyphAttributeType.getIndex(nominalStorage.get(EDataKind.RAW,i));
            if (nominalStorage.get(EDataKind.RAW,i) == null) {
              this.generalManager.getLogger().log(Level.WARNING,"String_Node_Str");
              temp2[i]=-1;
            }
            if (glyphAttributeType.doesAutomaticAttribute() && t2 == -1) {
              try {
                t2=Integer.parseInt(nominalStorage.get(EDataKind.RAW,i));
              }
 catch (              NumberFormatException ex) {
              }
              glyphAttributeType.addAttribute(t2,nominalStorage.get(EDataKind.RAW,i),(float)t2);
            }
            if (t2 == -1 && !(nominalStorage.get(EDataKind.RAW,i)).equals("String_Node_Str"))             this.generalManager.getLogger().log(Level.WARNING,"String_Node_Str" + tmpStorage.getLabel() + "String_Node_Str"+ nominalStorage.get(EDataKind.RAW,i));
            temp2[i]=t2;
            glyphAttributeType.incDistribution(t2);
          }
          aliStoreMapped.add(temp2);
        }
 else {
          throw new CaleydoRuntimeException("String_Node_Str",CaleydoRuntimeExceptionType.VIEW);
        }
        glyphAttributeType.setInternalColumnNumber(pcounter);
        ++pcounter;
      }
 else {
        if (tmpStorage instanceof NominalStorage && tmpStorage.getRawDataType() == ERawDataType.STRING) {
          alsStoreStringColTitel.add(tmpStorage.getLabel());
          String[] sArTmp=new String[tmpStorage.size()];
          for (int iCount=0; iCount < tmpStorage.size(); iCount++) {
            sArTmp[iCount]=((INominalStorage<String>)tmpStorage).get(EDataKind.RAW,iCount);
          }
          alsStoreString.add(sArTmp);
        }
 else         System.out.println("String_Node_Str" + tmpStorage.getLabel());
      }
      ++counter;
    }
  }
  if (aliStoreMapped.size() <= 0) {
    this.generalManager.getLogger().log(Level.SEVERE,"String_Node_Str");
    return glyphs;
  }
  int size=aliStoreMapped.get(0).length;
  int counter=1;
  for (int i=0; i < size; ++i) {
    GlyphEntry g=new GlyphEntry(generalManager,counter,generator);
    for (    int[] s : aliStoreMapped)     g.addParameter(s[i]);
    for (int j=0; j < alsStoreStringColTitel.size(); ++j)     g.addStringParameter(alsStoreStringColTitel.get(j),alsStoreString.get(j)[i]);
    glyphs.put(counter,g);
    ++counter;
  }
  generalManager.getGlyphManager().addGlyphs(glyphs);
  return glyphs;
}