1. A computer-implemented method for executing a program build, comprising: scheduling jobs to be executed for the program build based on dependencies between the jobs, wherein at least some of the jobs include one or more registry operations; collecting usage information from each of the jobs responsive to those jobs being executed, wherein the usage information collected includes registry usage information, the registry usage information being received from those jobs that include the one or more registry operations and including results of those registry operations; analyzing the registry usage information to determine whether execution of any of those jobs including the one or more registry operations resulted in a conflict, wherein the analyzing includes, for each job including one or more registry operations, comparing a version of a registry entry used by that job in the program build with a version of a registry entry that the job would have used in a sequential program build; invalidating the results of a particular job upon determining that the particular job generated a conflict; rebuilding the invalidated job using the correct registry entry version; storing a plurality of versions of registry entries used at different points in time during the program build, wherein each of those versions includes a key object version which itself includes one or more sub key object versions and one or more value object versions; discarding the results of the job that generated the conflict; identifying the correct registry entry versions for the job; and rebuilding the job using the correct registry entry versions.