Patent Document ID: 8874598
Application ID: 13188138
Patent Status: 1

Claim One:
1. A computer-implemented method for verifying data structures, the method comprising: executing, by a processor, a software module to obtain a first reference set of data produced by the software module, wherein the first reference set of data comprising all data produced by the software module at a first time; introducing, by the processor, a change to the software module after the first time to generate a modified software module; executing, by the processor, the modified software module to obtain a second reference set of data produced by the modified software module, wherein the second reference set of data comprising all data including data related to at least one changed portion of the modified software module produced by the modified software module at a second time, and wherein the executing at the second time is response to the introduced change; transforming, by the processor, the first reference set of data produced by the software module and the second reference set of data produced by the modified software module into a first formal text form representation and a second formal text form representation, respectively; determining, by the processor, a plurality of differences between the first reference set of data produced by the software module and the second reference set of data produced by the modified software module by comparing the first formal text form representation and the second formal text form representation to each other; filtering, by the processor, the plurality of differences to obtain a sub-set of the plurality of differences based on at least one filter criteria; mapping, by the processor, each difference in the sub-set of the plurality of differences to a corresponding portion of the modified software module responsible for the difference to determine at which point in execution of the modified software module the difference occurred; generating, by the processor, a report of the sub-set of plurality of differences, the corresponding mapped portions of the modified software module, and root cause of the sub-set of plurality of differences; wherein the second reference set of data is further used, by the processor, to verify whether a functionality of the modified software module is retained after the introduced change; replacing, by the processor, the first reference set of data with the second set of second reference set of data upon verifying that the functionality is retained; and establishing, by the processor, the second reference set of data as a new first reference set of data to use in future software module verification.