Patent ID: 8161458

Claim:
A machine implemented method, comprising: determining, using a hardware processor, that a particular regression is present in a particular build of a software system, wherein the particular regression comprises at least one selected from a group consisting of: a functional failure and a performance problem; identifying, using the hardware processor, a plurality of intermediate builds between the particular build and a baseline build, wherein the baseline build is known to not contain the particular regression; determining, for each of the plurality of intermediate builds, using the hardware processor, a first value indicating a likelihood that that intermediate build introduced the particular regression, wherein determining each of the first values comprises using a probability model generated from historical data; identifying, using the hardware processor, a particular intermediate build in the plurality of intermediate builds as a build to be tested based on the first value associated with the particular intermediate build, wherein the particular intermediate build comprises a plurality of layered putbacks, wherein each putback in the plurality of layered putbacks of the particular intermediate build comprises one or more code changes; determining, for each putback in the plurality of layered putbacks, using the hardware processor, a second value indicating a likelihood that that putback introduced the particular regression, wherein determining each of the second values comprises using the probability model; and selecting, using the hardware processor, a particular putback in the plurality of putbacks as a putback to be tested based on the second value associated with the particular putback, wherein the particular putback is the putback that has the greatest likelihood of introducing the particular regression.