IP Library Granted Patent US 8,874,598
Granted Patent B2
US 8,874,598 · App. 13/188,138 · Granted Oct 28, 2014

Method and system for an executable specification

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,874,598
App. No.
13/188,138
Granted
Oct 28, 2014
Kind
B2
Abstract

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.

Claims (53)

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.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2011
From: SPENGLER, MICHAEL; LAENGERT, RENE
To: SAP AG
Reel/Frame 026630/0772 →