Program: 145013
Project: 145013
Buggy source:
public Suite parse() throws InvalidStructureException, IOException, XmlPullParserException {
  checkNode("String_Node_Str");
  String sVersion=parser.getAttributeValue(null,"String_Node_Str");
  int version=Integer.parseInt(sVersion);
  Hashtable<String,Detail> details=new Hashtable<String,Detail>();
  Hashtable<String,Entry> entries=new Hashtable<String,Entry>();
  Vector<Menu> menus=new Vector<Menu>();
  try {
    parser.next();
    int eventType;
    eventType=parser.getEventType();
    do {
      if (eventType == KXmlParser.END_DOCUMENT) {
      }
 else       if (eventType == KXmlParser.START_TAG) {
        if (parser.getName().toLowerCase().equals("String_Node_Str")) {
          Entry e=new EntryParser(parser).parse();
          entries.put(e.getCommandId(),e);
        }
 else         if (parser.getName().toLowerCase().equals("String_Node_Str")) {
          Entry e=new ViewParser(parser).parse();
          entries.put(e.getCommandId(),e);
        }
 else         if (parser.getName().toLowerCase().equals("String_Node_Str")) {
          String localeKey=parser.getAttributeValue(null,"String_Node_Str");
          parser.nextTag();
          Resource r=new ResourceParser(parser).parse();
          table.addResource(r,table.getInstallers().getLocaleFileInstaller(localeKey),resourceGuid);
        }
 else         if (parser.getName().toLowerCase().equals("String_Node_Str")) {
          String path=parser.getAttributeValue(null,"String_Node_Str");
          while (this.nextTagInBlock("String_Node_Str")) {
            Resource r=new ResourceParser(parser).parse();
            table.addResource(r,table.getInstallers().getMediaInstaller(path),resourceGuid);
          }
        }
 else         if (parser.getName().toLowerCase().equals("String_Node_Str")) {
          parser.nextTag();
          Resource r=new ResourceParser(parser).parse();
          table.addResource(r,table.getInstallers().getXFormInstaller(),resourceGuid);
        }
 else         if (parser.getName().toLowerCase().equals("String_Node_Str")) {
          Detail d=new DetailParser(parser).parse();
          details.put(d.getId(),d);
        }
 else         if (parser.getName().toLowerCase().equals("String_Node_Str")) {
          Menu m=new MenuParser(parser).parse();
          menus.addElement(m);
        }
 else {
          System.out.println("String_Node_Str" + parser.getName());
        }
      }
 else       if (eventType == KXmlParser.END_TAG) {
      }
 else       if (eventType == KXmlParser.TEXT) {
      }
      eventType=parser.next();
    }
 while (eventType != KXmlParser.END_DOCUMENT);
    suite=new Suite(version,details,entries,menus);
    return suite;
  }
 catch (  XmlPullParserException e) {
    e.printStackTrace();
    throw new InvalidStructureException("String_Node_Str",parser);
  }
catch (  IOException e) {
    e.printStackTrace();
    throw new InvalidStructureException("String_Node_Str",parser);
  }
catch (  StorageFullException e) {
    e.printStackTrace();
    throw new InvalidStructureException("String_Node_Str",parser);
  }
}

Fixed version (ground truth):
public Suite parse() throws InvalidStructureException, IOException, XmlPullParserException {
  checkNode("String_Node_Str");
  String sVersion=parser.getAttributeValue(null,"String_Node_Str");
  int version=Integer.parseInt(sVersion);
  Hashtable<String,Detail> details=new Hashtable<String,Detail>();
  Hashtable<String,Entry> entries=new Hashtable<String,Entry>();
  Vector<Menu> menus=new Vector<Menu>();
  try {
    parser.next();
    int eventType;
    eventType=parser.getEventType();
    do {
      if (eventType == KXmlParser.END_DOCUMENT) {
      }
 else       if (eventType == KXmlParser.START_TAG) {
        if (parser.getName().toLowerCase().equals("String_Node_Str")) {
          Entry e=new EntryParser(parser).parse();
          entries.put(e.getCommandId(),e);
        }
 else         if (parser.getName().toLowerCase().equals("String_Node_Str")) {
          Entry e=new ViewParser(parser).parse();
          entries.put(e.getCommandId(),e);
        }
 else         if (parser.getName().toLowerCase().equals("String_Node_Str")) {
          String localeKey=parser.getAttributeValue(null,"String_Node_Str");
          parser.nextTag();
          Resource r=new ResourceParser(parser,maximumResourceAuthority).parse();
          table.addResource(r,table.getInstallers().getLocaleFileInstaller(localeKey),resourceGuid);
        }
 else         if (parser.getName().toLowerCase().equals("String_Node_Str")) {
          String path=parser.getAttributeValue(null,"String_Node_Str");
          while (this.nextTagInBlock("String_Node_Str")) {
            Resource r=new ResourceParser(parser,maximumResourceAuthority).parse();
            table.addResource(r,table.getInstallers().getMediaInstaller(path),resourceGuid);
          }
        }
 else         if (parser.getName().toLowerCase().equals("String_Node_Str")) {
          parser.nextTag();
          Resource r=new ResourceParser(parser,maximumResourceAuthority).parse();
          table.addResource(r,table.getInstallers().getXFormInstaller(),resourceGuid);
        }
 else         if (parser.getName().toLowerCase().equals("String_Node_Str")) {
          Detail d=new DetailParser(parser).parse();
          details.put(d.getId(),d);
        }
 else         if (parser.getName().toLowerCase().equals("String_Node_Str")) {
          Menu m=new MenuParser(parser).parse();
          menus.addElement(m);
        }
 else {
          System.out.println("String_Node_Str" + parser.getName());
        }
      }
 else       if (eventType == KXmlParser.END_TAG) {
      }
 else       if (eventType == KXmlParser.TEXT) {
      }
      eventType=parser.next();
    }
 while (eventType != KXmlParser.END_DOCUMENT);
    suite=new Suite(version,details,entries,menus);
    return suite;
  }
 catch (  XmlPullParserException e) {
    e.printStackTrace();
    throw new InvalidStructureException("String_Node_Str",parser);
  }
catch (  IOException e) {
    e.printStackTrace();
    throw new InvalidStructureException("String_Node_Str",parser);
  }
catch (  StorageFullException e) {
    e.printStackTrace();
    throw new InvalidStructureException("String_Node_Str",parser);
  }
}