Patent ID: 8745611

Claim:
A system for analyzing an upgrade of a first version of a software program in a modified form to a second version of the software program in the modified form without performing the upgrade, the system comprising: a memory; a processor in communication with the memory, the memory comprising computer code, wherein the computer code is executable to: provide default state information of a plurality of default program objects included in a default installation of the second version of the software program in an unmodified form; retrieve, from an application database, current state information of a plurality of current program objects included in the first version of the software program in the modified form, the modified form of the first version of the software program reflecting user modification, addition, and removal of one or more program objects included in an unmodified form of the first version of the software program when first installed; and compare the current state information for the modified form of the first version of the software program with the default state information for the default installation of the second version of the software program in the unmodified form to generate upgrade information by: for each of the current program objects: determining whether a current program object in the modified form of the first version of the software program is obsolete or revised in the default installation of the second version of the software program in the unmodified form; based on a determination that the current program object in the modified form of the first version of the software program is obsolete or revised in the default installation of the second version of the software program in the unmodified form, identifying the current program object as impacted; based on a determination that the current program object in the modified form of the first version of the software program is not obsolete or revised in the default installation of the second version of the software program in the unmodified form, determining whether another current program object in the modified form of the first version of the software program that has a direct or indirect child relationship to the current program object is obsolete or revised in the default installation of the second version of the software program in the unmodified form; based on a determination that another current program object in the modified form of the first version of the software program that has the direct or indirect child relationship to the current program object is obsolete or revised in the default installation of the second version of the software program in the unmodified form, identifying the current program object as impacted; and generating upgrade information that identifies a subset of the current program objects identified as being impacted by the upgrade of the first version of the software program in the modified form to the second version of the software program in the modified form.