Patent ID: 8683441
Filing Date: 2014-03-25
Classification: G06F

Abstract:
1. A computer-implemented method for equivalence checking of a first program and a second program, wherein the first and second programs are operative to receive a set of inputs, the method comprising: iteratively checking each valid pair of control paths for equivalence, wherein a valid pair of control paths is a pair of control paths for which there exists a representative value that causes the first and second programs to follow the pair of control paths, wherein the representative value comprising concrete values to the set of inputs; wherein said iteratively checking comprises: with respect to a valid pair comprising the first and second control paths, iteratively determining one or more additional valid pairs of control paths for which there exists a second representative value that is operable to cause one of the first or second program to follow the first or second control path respectfully and a counterpart control path to follow a different control path; wherein for each such second representative, evaluate a symbolic comparison between output values; wherein said iteratively determining control paths comprises: whereby equivalence between the first program and the second program with respect to an equivalence class associated with the representative value is checked; whereby equivalence between the first and second programs is checked.