Program: 145010
Project: 145010
Buggy source:
public Profile parse() throws InvalidStructureException, IOException, XmlPullParserException, UnfullfilledRequirementsException {
  checkNode("String_Node_Str");
  String sVersion=parser.getAttributeValue(null,"String_Node_Str");
  int version=parseInt(sVersion);
  String authRef=parser.getAttributeValue(null,"String_Node_Str");
  String sMajor=parser.getAttributeValue(null,"String_Node_Str");
  String sMinor=parser.getAttributeValue(null,"String_Node_Str");
  int major=-1;
  int minor=-1;
  if (sMajor != null) {
    major=parseInt(sMajor);
  }
  if (sMinor != null) {
    minor=parseInt(sMinor);
  }
  if (!forceVersion && this.instance != null) {
    if (this.instance.getMajorVersion() != -1 && this.instance.getMajorVersion() < major) {
      throw new UnfullfilledRequirementsException("String_Node_Str" + major + "String_Node_Str"+ this.instance.getMajorVersion()+ "String_Node_Str",UnfullfilledRequirementsException.SEVERITY_PROMPT,UnfullfilledRequirementsException.REQUIREMENT_MAJOR_APP_VERSION);
    }
    if (this.instance.getMinorVersion() != -1 && this.instance.getMinorVersion() < minor) {
      throw new UnfullfilledRequirementsException("String_Node_Str" + minor + "String_Node_Str"+ this.instance.getMinorVersion()+ "String_Node_Str",UnfullfilledRequirementsException.SEVERITY_PROMPT,UnfullfilledRequirementsException.REQUIREMENT_MINOR_APP_VERSION);
    }
  }
  String registrationNamespace=null;
  Profile profile=new Profile(version,authRef);
  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")) {
          String key=parser.getAttributeValue(null,"String_Node_Str");
          String value=parser.getAttributeValue(null,"String_Node_Str");
          String force=parser.getAttributeValue(null,"String_Node_Str");
          if (force != null) {
            if ("String_Node_Str".equals(force.toLowerCase())) {
              profile.addPropertySetter(key,value,true);
            }
 else {
              profile.addPropertySetter(key,value,false);
            }
          }
 else {
            profile.addPropertySetter(key,value);
          }
        }
 else         if (parser.getName().toLowerCase().equals("String_Node_Str")) {
          RootTranslator root=new RootParser(this.parser).parse();
          profile.addRoot(root);
        }
 else         if (parser.getName().toLowerCase().equals("String_Node_Str")) {
          getNextTagInBlock("String_Node_Str");
          Resource resource=new ResourceParser(parser).parse();
          table.addResource(resource,table.getInstallers().getLoginImageInstaller(),resourceId,initialResourceStatus);
        }
 else         if (parser.getName().toLowerCase().equals("String_Node_Str")) {
          while (nextTagInBlock("String_Node_Str")) {
            String tag=parser.getName().toLowerCase();
            String active=parser.getAttributeValue(null,"String_Node_Str");
            boolean isActive=false;
            if (active != null && active.toLowerCase().equals("String_Node_Str")) {
              isActive=true;
            }
            if (tag.equals("String_Node_Str")) {
            }
 else             if (tag.equals("String_Node_Str")) {
              if (nextTagInBlock("String_Node_Str")) {
                checkNode("String_Node_Str");
                String reminderTime=parser.nextText();
                int days=this.parseInt(reminderTime);
              }
            }
 else             if (tag.equals("String_Node_Str")) {
            }
 else             if (tag.equals("String_Node_Str")) {
              while (nextTagInBlock("String_Node_Str")) {
                if (parser.getName().toLowerCase().equals("String_Node_Str")) {
                  registrationNamespace=parser.nextText();
                  profile.addPropertySetter("String_Node_Str",registrationNamespace,true);
                }
 else                 if (parser.getName().toLowerCase().equals("String_Node_Str")) {
                  String logo=parser.nextText();
                  profile.addPropertySetter("String_Node_Str",logo,true);
                }
 else {
                  throw new InvalidStructureException("String_Node_Str" + parser.getName() + "String_Node_Str",parser);
                }
              }
            }
 else             if (tag.equals("String_Node_Str")) {
            }
            profile.setFeatureActive(tag,isActive);
          }
        }
 else         if (parser.getName().toLowerCase().equals("String_Node_Str")) {
          getNextTagInBlock("String_Node_Str");
          Resource resource=new ResourceParser(parser).parse();
          table.addResource(resource,table.getInstallers().getSuiteInstaller(),resourceId,initialResourceStatus);
        }
 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);
    return profile;
  }
 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 Profile parse() throws InvalidStructureException, IOException, XmlPullParserException, UnfullfilledRequirementsException {
  checkNode("String_Node_Str");
  String sVersion=parser.getAttributeValue(null,"String_Node_Str");
  int version=parseInt(sVersion);
  String authRef=parser.getAttributeValue(null,"String_Node_Str");
  String sMajor=parser.getAttributeValue(null,"String_Node_Str");
  String sMinor=parser.getAttributeValue(null,"String_Node_Str");
  int major=-1;
  int minor=-1;
  if (sMajor != null) {
    major=parseInt(sMajor);
  }
  if (sMinor != null) {
    minor=parseInt(sMinor);
  }
  if (!forceVersion && this.instance != null) {
    if (this.instance.getMajorVersion() != -1 && this.instance.getMajorVersion() < major) {
      throw new UnfullfilledRequirementsException("String_Node_Str" + major + "String_Node_Str"+ this.instance.getMajorVersion()+ "String_Node_Str",UnfullfilledRequirementsException.SEVERITY_PROMPT,UnfullfilledRequirementsException.REQUIREMENT_MAJOR_APP_VERSION);
    }
    if (this.instance.getMinorVersion() != -1 && this.instance.getMinorVersion() < minor) {
      throw new UnfullfilledRequirementsException("String_Node_Str" + minor + "String_Node_Str"+ this.instance.getMinorVersion()+ "String_Node_Str",UnfullfilledRequirementsException.SEVERITY_PROMPT,UnfullfilledRequirementsException.REQUIREMENT_MINOR_APP_VERSION);
    }
  }
  String registrationNamespace=null;
  Profile profile=new Profile(version,authRef);
  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")) {
          String key=parser.getAttributeValue(null,"String_Node_Str");
          String value=parser.getAttributeValue(null,"String_Node_Str");
          String force=parser.getAttributeValue(null,"String_Node_Str");
          if (force != null) {
            if ("String_Node_Str".equals(force.toLowerCase())) {
              profile.addPropertySetter(key,value,true);
            }
 else {
              profile.addPropertySetter(key,value,false);
            }
          }
 else {
            profile.addPropertySetter(key,value);
          }
        }
 else         if (parser.getName().toLowerCase().equals("String_Node_Str")) {
          RootTranslator root=new RootParser(this.parser).parse();
          profile.addRoot(root);
        }
 else         if (parser.getName().toLowerCase().equals("String_Node_Str")) {
          getNextTagInBlock("String_Node_Str");
          Resource resource=new ResourceParser(parser,maximumResourceAuthority).parse();
          table.addResource(resource,table.getInstallers().getLoginImageInstaller(),resourceId,initialResourceStatus);
        }
 else         if (parser.getName().toLowerCase().equals("String_Node_Str")) {
          while (nextTagInBlock("String_Node_Str")) {
            String tag=parser.getName().toLowerCase();
            String active=parser.getAttributeValue(null,"String_Node_Str");
            boolean isActive=false;
            if (active != null && active.toLowerCase().equals("String_Node_Str")) {
              isActive=true;
            }
            if (tag.equals("String_Node_Str")) {
            }
 else             if (tag.equals("String_Node_Str")) {
              if (nextTagInBlock("String_Node_Str")) {
                checkNode("String_Node_Str");
                String reminderTime=parser.nextText();
                int days=this.parseInt(reminderTime);
              }
            }
 else             if (tag.equals("String_Node_Str")) {
            }
 else             if (tag.equals("String_Node_Str")) {
              while (nextTagInBlock("String_Node_Str")) {
                if (parser.getName().toLowerCase().equals("String_Node_Str")) {
                  registrationNamespace=parser.nextText();
                  profile.addPropertySetter("String_Node_Str",registrationNamespace,true);
                }
 else                 if (parser.getName().toLowerCase().equals("String_Node_Str")) {
                  String logo=parser.nextText();
                  profile.addPropertySetter("String_Node_Str",logo,true);
                }
 else {
                  throw new InvalidStructureException("String_Node_Str" + parser.getName() + "String_Node_Str",parser);
                }
              }
            }
 else             if (tag.equals("String_Node_Str")) {
            }
            profile.setFeatureActive(tag,isActive);
          }
        }
 else         if (parser.getName().toLowerCase().equals("String_Node_Str")) {
          getNextTagInBlock("String_Node_Str");
          Resource resource=new ResourceParser(parser,maximumResourceAuthority).parse();
          table.addResource(resource,table.getInstallers().getSuiteInstaller(),resourceId,initialResourceStatus);
        }
 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);
    return profile;
  }
 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);
  }
}