Patent ID: 7428726
Filing Date: 2008-09-23
Classification: G06F

Abstract:
1. A method for automatically tracking build information comprising: registering one or more builds by storing build information corresponding to each of said one or more builds, said build information including a list of executable modules in each of said one or more builds, and, for each executable module in said list, including software module information comprising a module name and associated attributes; automatically determining software module information at runtime about a version of software during testing of the software while the software is executing; and automatically determining a first build of said one or more builds corresponding to said software module information, wherein said automatically determining said first build further comprises: determining said first build for which a matching build is being determined from said one or more builds registered; determining a candidate list including one or more builds having at least one executable module in common with said first build; for each build included in said candidate list, determining if executable modules included in said each build match executable modules included in said first build; for each build included in said candidate list, if there are no executable modules included in said each build that have a module name and associated attributes matching an executable module included in said first build, determining that said each build is not a match for said first build; and for each build included in said candidate list, if a first of said executable modules included in said each build has a module name that matches an executable module included in said first build but attributes associated with said executable module do not match said executable module included in said first build, determining whether said each build is a match for said first build, wherein said determining whether said each build is a match includes determining a volatility metric between the executable module included in the first build and the executable module of the each build in the candidate list having a module name that matches the executable module in the first build but attributes that do not match, the determining the volatility metric including determining at least one of: a number of functions added, a number of functions removed, and a number of functions modified in the executable module of the each build in the candidate list having the module name that matches the executable module in the first build but attributes that do not match in comparison to the executable module of the first build.