According to some embodiments, a method and system provides executing, by a processor, a software module under test to obtain a first reference set of data; executing, by the processor, the software module under test to obtain a second reference set data; transforming, by the processor, the first reference set of data and the second reference set of data into a first formal text form representation and a second formal text form representation, respectively; determining a plurality of differences between the first set of reference data and the second set of reference data by comparing the first formal text form representation and the second formal text form representation; filtering the plurality of differences to obtain a sub-set of the plurality of differences based on at least one filter criteria; and generating a report of the sub-set of plurality of differences.
Legal claims defining the scope of protection, as filed with the USPTO.
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.
2. The method of claim 1 , further comprising: persisting the first reference set of data produced by the software module and the second reference set of data produced by the modified software module in a storage facility.
3. The method of claim 1 , wherein the at least one filter criteria includes known data deviations.
4. The method of claim 1 , wherein the at least one filter criteria is at least one of user specific filter criteria and user-role specific filter criteria.
5. The method of claim 1 , further comprising presenting the report of the sub-set of the plurality of differences in a graphical user interface.
6. The method of claim 1 , wherein the first formal text form representation and the second formal text form representation are encoded as Extensible Markup Language (XML).
7. A system comprising: a processor; a database; and a memory coupled to the processor and the database, the memory storing instructions executable by the processor to: execute a software module to obtain a first reference set of data and store in the database, wherein the first reference set of data is produced by the software module, and wherein the first reference set of data comprising all data produced by the software module at a first time; introduce a change to the software module after the first time to generate a modified software module; execute the modified software module to obtain a second reference set of data and store in the database, wherein the second reference set of data including data related to at least one changed portion of the modified software module is produced by the modified software module at a second time, and wherein the execute at the second time is response to the introduced change; transform 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; determine 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; filter the plurality of differences to obtain a sub-set of the plurality of differences based on at least one filter criteria; map 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; generate 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; replace the first reference set of data with the second set of second reference set of data upon verifying that the functionality is retained; and establish the second reference set of data as a new first reference set of data to use in future software module verification.
8. The system of claim 7 , wherein the memory stores instructions executable by the processor to persist the first reference set of data produced by the software module and the second reference set of data produced by the modified software module in a storage facility.
9. The system of claim 7 , wherein the at least one filter criteria includes known data deviations.
10. The system of claim 7 , wherein the at least one filter criteria is at least one of user specific filter criteria and user-role specific filter criteria.
11. The system of claim 7 , wherein the memory stores instructions executable by the processor to present the report of the sub-set of the plurality of differences in a graphical user interface.
12. The system of claim 7 , wherein the first formal text form representation and the second formal text form representation are encoded as Extensible Markup Language (XML).
13. A non-transitory medium, the medium comprising: instructions to execute a software module to obtain a first reference set of data, wherein the first reference set of data is produced by the software module, and wherein the first reference set of data comprising all of data produced by the software module at a first time; instructions to introduce a change to the software module after the first time to generate a modified software module; instructions to execute the modified software module to obtain a second reference set of data, wherein the second reference set of data including data related to at least one changed portion of the modified software module is produced by the modified software module at a second time, and wherein the execute at the second time is response to the introduced change; instructions to transform 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; instructions to determine a plurality of differences between the first set of reference set of data produced by the software module and the second set of 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; instructions to filter the plurality of differences to obtain a sub-set of the plurality of differences based on at least one filter criteria; instructions to map 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; instructions to generate 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; replace the first reference set of data with the second set of second reference set of data upon verifying that the functionality is retained; and establish the second reference set of data as a new first reference set of data to use in future software module verification.
14. The medium of claim 13 , further comprising instructions to persist the first reference set of data produced by the software module and the second reference set of data produced by the modified software module in a storage facility.
15. The medium of claim 13 , wherein the at least one filter criteria includes known data deviations.
16. The medium of claim 13 , wherein the at least one filter criteria is at least one of user specific filter criteria and user-role specific filter criteria.
17. The medium of claim 13 , further comprising instructions to present the report of the sub-set of the plurality of differences in a graphical user interface.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
July 21, 2011
October 28, 2014
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.