Module specific tracing in a shared module environment

US9864672B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9864672-B2
Application numberUS-201615068996-A
CountryUS
Kind codeB2
Filing dateMar 14, 2016
Priority dateSep 4, 2013
Publication dateJan 9, 2018
Grant dateJan 9, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Visualizing execution of an application in a trace coverage graph includes receiving module trace data gathered during execution of an executable module. The module trace data includes data representing sequences of execution between individual executable components. A trace coverage graph is generated and displayed from the module trace data. The trace coverage graph includes graph nodes that each correspond to a different executable component. The trace coverage graph also includes graph edges that each visually connects two of the graph nodes. Each graph edge visually indicates an amount of trace data present for the sequence of execution between the graph nodes that are connected by the graph edge. Thicker graph edges represent the presence of a larger amount of trace data, and thinner graph edges represent the presence of a lesser amount of trace data.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer system, comprising: one or more processors; a display device; and one or more hardware storage devices having stored thereon computer-executable instructions that are executable by the one or more processors to cause the computer system to visualize execution of an application in a trace coverage graph, the computer-executable instructions including instructions that are executable to cause the computer system to perform at least the following: receiving module trace data gathered during execution of an executable module that includes a plurality of executable components, wherein the module trace data includes data representing sequences of execution between individual executable components of the plurality of executable components during execution of the executable module; based on, at least in part, receiving the module trace data, generating a trace coverage graph for display at the display device, wherein the generated trace coverage graph includes: a plurality of different graph nodes, wherein each graph node of the plurality of different graph nodes corresponds to a different individual executable component selected from among the plurality of executable components; and a plurality of different graph edges, wherein each graph edge of the plurality of different graph edges visually connects two graph nodes of the plurality of different graph nodes of the generated trace coverage graph representing individual executable components of the plurality of executable components that were executed in sequence during execution of the executable module, wherein the thickness of each graph edge of the plurality of different graph edges visually indicates an amount of trace data present for a sequence of execution between the plurality of different graph nodes that are connected by the graph edge, wherein thicker graph edges represent the presence of a larger amount of trace data and thinner graph edges represent the presence of a lesser amount of trace data, wherein the thicker graph edges are heavier graph edges than the thinner graph edges, and wherein dashed graph edges represent the presence of no trace data, indicating that at least one graph node of the plurality of different graph nodes corresponds to an executable component of the plurality of executable components that was not executed during execution of the executable module; and displaying the generated trace coverage graph at the display device. 2. The computer system of claim 1 , wherein each graph node of the plurality of different graph nodes is labeled with a reference to executable code represented by the graph node. 3. The computer system of claim 1 , the computer-executable instructions also including instructions that are executable to cause the computer system to receive a user input selecting a graph node and to display additional underlying data about the selected graph node. 4. The computer system of claim 1 , wherein the generated trace coverage graph is displayed as part of a module-specific user interface for the executable module. 5. The computer system of claim 4 , wherein the module-specific user interface includes one or more module metrics, including one or more of: a reliability metric that reflects robustness or fragility of the executable module; a popularity metric that reflects usage of the executable module by a community; or a trending metric indicating if the executable module is increasing or decreasing in popularity. 6. The computer system of claim 4 , wherein the module-specific user interface indicates a quantity of the module trace data. 7. The computer system of claim 4 , wherein the module-specific user interface reflects observations for individual functions within the executable module. 8. The computer system of claim 7 , wherein the observations for the individual functions within the executable module include one or more of an error rate, processor consumption, or memory consumption for an individual function within the executable module. 9. The computer system of claim 4 , wherein the module-specific user interface graphs usage trends of the executable module over time. 10. The computer system of claim 4 , wherein the module-specific user interface includes a module topology graph that visually illustrates links between the executable module and one or more other modules that are called by the executable module. 11. A method, implemented at a computer system that includes one or me processors, for visualizing execution of an application in a trace coverage graph, the method comprising: analyzing module trace data gathered during execution of an executable module that includes a plurality of executable components, wherein the module trace data includes data representing sequences of execution between individual executable components of the plurality of executable components during execution of the executable module; based on, at least in part, analyzing the module trace data, generating a trace coverage graph for display at a display device, wherein the generated trace coverage graph includes: a plurality of different graph nodes, wherein each graph node of the plurality of different graph nodes corresponds to a different individual executable component selected from among the plurality of executable components; and a plurality of different graph edges, wherein each graph edge of the plurality of different graph edges visually connects two graph nodes of the plurality of different graph nodes of the generated trace coverage graph representing individual executable components of the plurality of executable components that were executed in sequence during execution of the executable module, wherein the thickness of each graph edge of the plurality of different graph edges visually indicates an amount of trace data present for a sequence of execution between the plurality of different graph nodes that are connected by the graph edge, wherein thicker graph edges represent the presence of a larger amount of trace data and thinner graph edges represent the presence of a lesser amount of trace data, wherein the thicker graph edges are heavier graph edges than the thinner graph edges, and wherein dashed graph edges represent the presence of no trace data, indicating that at least one graph node of the plurality of different graph nodes corresponds to an executable component of the plurality of executable components that was not executed during execution of the executable module; and displaying the generated trace coverage graph at the display device. 12. The method of claim 11 , wherein each graph node of the plurality of different graph nodes is labeled with a reference to executable code represented by the graph node. 13. The method of claim 11 , further comprising receiving a user input selecting a graph node and displaying additional underlying data about the selected graph node. 14. The method of claim 11 , wherein the generated trace coverage graph is displayed as part of a module-specific user interface for the executable module. 15. The method of claim 14 , wherein the module-specific user interface includes one or more module metrics, including one or more of: a reliability metric that reflects robustness or fragility of the executable module; a popularity metric that reflects usage of the executable module by a community; or a trending metric indicating if the executable module is increasing or decreasing in popularity. 16. The method of claim 14 , wherein the module-specific user interface indicates a quantity of the module trace data.

Assignees

Inventors

Classifications

  • Physics · mapped topic

  • G06F21/12Primary

    Protecting executable software · CPC title

  • Monitoring of software · CPC title

  • User authentication · CPC title

  • Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation {; Recording or statistical evaluation of user activity, e.g. usability assessment} · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9864672B2 cover?
Visualizing execution of an application in a trace coverage graph includes receiving module trace data gathered during execution of an executable module. The module trace data includes data representing sequences of execution between individual executable components. A trace coverage graph is generated and displayed from the module trace data. The trace coverage graph includes graph nodes that …
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F21/12. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 09 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).