IP Library Granted Patent US 7,640,470
Granted Patent B2
US 7,640,470 · App. 11/507,416 · Granted Dec 29, 2009

Meta-data driven test-data generation with controllable combinatorial coverage

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 7,640,470
App. No.
11/507,416
Granted
Dec 29, 2009
Kind
B2
Abstract

Generation of test data for systems having functionality subject to a grammar or other sort of meta-data is automated by a controlled combinatorial approximation of naïve combinatorial coverage. A suite of control mechanisms are applied to an algorithm that generates test data to provide well-defined and understandable approximations of full combinatorial coverage.

Claims (47)

1. A method of testing a system having meta-data driven functionality comprising:

modeling the grammar of the system;

generating test data in a controlled manner to achieve coverage of the system's grammar by:

identifying all sorts and constructors associated with the grammar;

generating a subset of all possible terms that can be constructed from said sorts and constructors; and

composing test data sets from said terms;

providing the test data as input to this system; and

identifying the system errors from the system outputs.

2. The method of claim 1 wherein said element of generating a subset of all possible terms that can be constructed from said sorts and constructors comprises:

calculating the depth of sorts and constructors associated with the grammar; and

constructing a plurality of terms over increasing depth up to a predetermined depth.

3. The method of claim 2 further comprising skipping a depth based on a sort specific limit.

4. The method of claim 2 further comprising eliminating the recursive depth of terms of intermediate sorts.

5. The method of claim 2 further comprising limiting the preceding levels from which the terms are reused.

6. The method of claim 2 further comprising limiting the combination of arguments used for forming new terms.

7. The method of claim 2 further comprising attaching at least one condition to a constructor.

8. A system for testing a system having meta-data driven functionality said system comprising at least one subsystem that:

models the grammar of the system;

generates test data in a controlled manner to achieve coverage of the system's grammar said subsystem that generates test data further comprising at least one subsystem that:

identifies all sorts and constructors associated with the grammar;

generates a subset of all possible terms that can be constructed from said sorts and constructors; and

composes test data sets from said terms;

provides the test data as input to this system; and

identifies the system errors from the system outputs.

9. The system of claim 8 wherein said subsystem that generates a subset of all possible terms that can be constructed from said sorts and constructors comprises at least one subsystem that:

calculates the depth of sorts and constructors associated with the grammar; and

constructs a plurality of terms over increasing depth up to a predetermined depth.

10. The system of claim 9 further comprising at least one subsystem that skips a depth based on a sort specific limit.

11. The system of claim 9 further comprising at least one subsystem that eliminates the recursive depth of terms of intermediate sorts.

12. The system of claim 9 further comprising at least one subsystem that limits the preceding levels from which terms are reused.

13. The system of claim 9 further comprising at least one subsystem that limits the combination of arguments used for forming new terms.

14. The system of claim 9 further comprising attaching at least one condition to a constructor.

15. A computer-readable medium for testing a system having meta-data driven functionality said computer-readable medium comprising computer-readable instructions, executable by a computer, to:

model the grammar of the system;

generate test data in a controlled manner to achieve coverage of the system's grammar including instructions to:

identify all sorts and constructors associated with the grammar;

generate a subset of all possible terms that can be constructed from said sorts and constructors; and

compose test data sets from said terms;

provide the test data as input to this system; and

identify the system errors from the system outputs.

16. The computer-readable medium of claim 15 wherein said instructions to generate a subset of all possible terms that can be constructed from said sorts and constructors comprises instructions to:

calculate the depth of sorts and constructors associated with the grammar; and

construct a plurality of terms over increasing depth up to a predetermined depth.

17. The computer-readable medium of claim 16 further comprising instructions to skip a depth based on a sort specific limit.

18. The computer-readable medium of claim 16 further comprising instructions to eliminate the recursive depth of terms of intermediate sorts.

19. The computer-readable medium of claim 16 further comprising instructions to limit the preceding levels from which terms are reused.

20. The computer-readable medium of claim 16 further comprising instructions to limit the combination of arguments used for forming new terms.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2007
From: LAMMEL, RALF; SCHULTE, WOLFRAM
To: MICROSOFT CORPORATION
Reel/Frame 018948/0257 →