A method for determining a required solution subset from a set of
solutions for eliminating a computer program execution error is provided.
The method includes selecting a first candidate solution subset from a
set of solutions for a computer program that produces an error when
executed, wherein each of the solutions represents a different proposed
modification of the program for eliminating the execution error, applying
the first candidate solution subset to the computer program, thereby
creating a first version of the program, selecting a second candidate
solution subset from the set of solutions, applying the second candidate
solution subset to the program, thereby creating a second version of the
program, executing the first and second program versions to determine
whether either of the executed program versions produces the error,
adding the difference between the first and second candidate solution
subsets to a required solution subset, when one of the executed program
versions produces the error, and the other of the executed program
versions does not produce the error, applying the required solution
subset to the program, thereby creating a third version of the program,
executing the third program version to determine whether the executed
third version of the program produces the error and, if the third version
of the program produces the error, repeating the above steps for
different candidate solution subsets until the third version of the
program does not produce the error.