IP Library Granted Patent US 7,603,334
Granted Patent B2
US 7,603,334 · App. 11/399,553 · Granted Oct 13, 2009

Code coverage of declarative objects

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,603,334
App. No.
11/399,553
Granted
Oct 13, 2009
Kind
B2
Abstract

Generating coverage information identifying tested elements of a declarative data structure. A method includes exercising a first element of a declarative data structure. Information is gathered about the effects of exercising a first element of a declarative data structure on other elements of the declarative data structure. The information gathered about the effects of exercising a first element of a declarative data structure on other elements of the declarative data structure is collated and analyzed. The information gathered about the effects of exercising a first element of a declarative data structure on other elements is reported in a human understandable format.

Claims (32)

1. A computer implemented method of generating coverage information identifying tested elements of a declarative data structure, the method comprising a computer processing device performing the following:

exercising a first element of a declarative data structure, wherein the declarative data structure is at least one of a database, an XML schema, an OLAP cube, an HTML document, or a WSDL document;

gathering information about the effects of exercising the first element of a declarative data structure on other elements of the same declarative data structure containing the first element of the declarative data structure;

collating and analyzing the information gathered about the effects of exercising the first element of the declarative data structure on other elements of the same declarative data structure; and

reporting the information gathered about the effects of exercising a first element of a declarative data structure on other elements in a human understandable format, including by presenting a graphical display illustrating a graphical representation of the declarative data structure the graphical display graphically illustrating elements of the declarative data structure that are covered.

2. The method of claim 1 , wherein exercising a first element of a declarative data structure comprises applying a script to the declarative data structure, the script including one or more commands to be executed on elements of the declarative data structure.

3. The method of claim 1 , wherein exercising a first element of a declarative data structure comprises applying at least one of a delete, update, query, create, or insert command to a database field.

4. The method of claim 1 , wherein gathering information about the effects of exercising the first element of a declarative data structure on other elements of the declarative data structure comprises noting effects on at least one of a table, row, column, cell, foreign key, check clause, trigger, default construct, or a queue.

5. The method of claim 1 , wherein gathering information about the effects of exercising the first element of the declarative data structure on other elements of the same declarative data structure comprises monitoring the declarative data structure with an agent.

6. The method of claim 1 , wherein gathering information about the effects of exercising the first element of the declarative data structure on other elements of the same declarative data structure comprises using instrumentation of an underlying runtime to determine what elements are exercised as a result of exercising the first element of the declarative data structure.

7. The method of claim 6 , wherein using instrumentation of an underlying runtime comprises using a trace command in an SQL database.

8. The method of claim 1 , wherein gathering information about the effects of exercising the first element of the declarative data structure on other elements of the same declarative data structure comprises analyzing other elements of the declarative data structure to determine changes as a result of exercising the first element of the declarative data structure.

9. The method of claim 1 , wherein reporting the information gathered about the effects of exercising the first element of the declarative data structure on other elements in a human understandable format comprises presenting a graphical display summarizing statistics including at least one of percentage of coverage, number of possible elements, number of elements covered, number of elements not covered, or percentage of elements not covered.

10. The method of claim 1 , wherein reporting the information gathered about the effects of exercising the first element of the declarative data structure on other elements in a human understandable format, including by presenting a graphical display illustrating a graphical representation of the declarative data structure the graphical display graphically illustrating elements of the declarative data structure that are covered comprises at least one of shading, coloring, providing in-line characters, or providing in-line text.

11. The method of claim 1 , wherein reporting the information gathered about the effects of exercising the first element of the declarative data structure on other elements in a human understandable format comprises providing a text file and an indicator for portions of the text file representing covered elements.

12. A computer readable storage medium comprising:

A first data structure including a script comprising commands to be applied to a declarative data structure to exercise one or more elements of the declarative data structure, wherein the declarative data structure is at least one of a database, an XML schema, an OLAP cube, an HTML document, or a WSDL document;

a second data structure defining an agent, wherein the second data structure comprises computer executable instructions configured to be executed by a computer processing device:

computer executable instructions that when executed by a computer processing device are configured to gather information about the effects of exercising a first element of a declarative data structure on other elements of the declarative data structure;

computer executable instruction that when executed by a computer processing device are configured to collate and analyze the information gathered about the effects of exercising a first element of a declarative data structure on other elements of the declarative data structure; and

computer executable instructions that when executed by a computer processing device are configured to report the information gathered about the effects of exercising a first element of a declarative data structure on other elements in a human understandable format, including by presenting a graphical display illustrating a graphical representation of the declarative data structure the graphical display graphically illustrating elements of the declarative data structure that are covered.

13. The computer readable medium of claim 12 , wherein the computer executable instructions configured to gather information about the effects of exercising the first element of a declarative data structure are configured to query various elements of the declarative data structure at various times to determine what elements have changed.

14. The computer readable medium of claim 12 , wherein the computer executable instructions configured to gather information about the effects of exercising the first element of a declarative data structure are configured to monitor elements of the declarative data structure to determine what changes have been made to elements of the declarative data structure.

15. A method of generating coverage information identifying tested elements of a declarative data structure, including elements that have been exercised or changed as a result of exercising other elements, the method comprising at a computer processing device:

performing an operation on an element of the declarative data structure;

detecting effects on one or more constructs of the declarative data structure as a result of performing an operation on the element of the declarative data structure, and wherein detecting effects on one or more constructs of the declarative data structure comprises detecting effects on at least one of a table, a view, a column, a foreign key, a check clause, a trigger, a queue, coverage of schema constructs and constraints in an XML schema, cubes and portions of select statements, or links, buttons, and text boxes;

collecting information regarding the effects on the one or more constructs of the declarative data structure; and

summarizing the information in a human readable form, including by presenting a graphical display illustrating a graphical representation of the declarative data structure the graphical display graphically illustrating elements of the declarative data structure that are covered.

16. The method of claim 15 , wherein detecting effects on one or more constructs of the declarative data structure comprises detecting effects on at least one of a table, a view, a column, a foreign key, a check clause, a trigger, or a queue.

17. The method of claim 15 , wherein detecting effects on one or more constructs of the declarative data structure comprises detecting effects on coverage of schema constructs and constraints in an XML schema.

18. The method of claim 15 , wherein detecting effects on one or more constructs of the declarative data structure comprises detecting effects on cubes and portions of select statements.

19. The method of claim 15 , wherein detecting effects on one or more constructs of the declarative data structure comprises detecting effects on links, buttons, and text boxes.

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 May 15, 2006
From: BLOESCH, ANTHONY C.
To: MICROSOFT CORPORATION
Reel/Frame 017617/0189 →