Semantic stack trace
US-9152537-B2 · Oct 6, 2015 · US
US9836440B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9836440-B2 |
| Application number | US-201514826082-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 13, 2015 |
| Priority date | Feb 8, 2013 |
| Publication date | Dec 5, 2017 |
| Grant date | Dec 5, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
The present disclosure provides methods and systems for instrumenting a “semantic stack trace” (SST), where semantic information and dependency relationships between a plurality of code elements (“elements”) are captured during runtime execution of various front-end declarative languages, and are subsequently extracted for display in a SST-enabled interactive user interface with traversing capability. Embodiments of the present invention enable a framework for traversing and debugging complex code, providing an unprecedented lens into understanding code behavior in mixed imperative and declarative construction languages.
Opening claim text (preview).
What is claimed is: 1. A method executed by a processor of a computing device having a memory with executable instructions stored thereon for implementing execution of the method, comprising: generating an interactive user interface having a document object model (DOM) element; receiving a hover request of the DOM element; determining, from a semantic stack trace, a subset of elements related to the DOM element, wherein the subset comprises an origins subset having elements that created the DOM element and a dependents subset having elements that depend on the DOM element; generating, in response to the hover request and in the interactive user interface, a dynamic display containing the origins subset, wherein the elements of the origins subset are sequentially linked to the DOM element based on their respective relationship toward creation of the DOM element; receiving a first inspection request for viewing details of the origins subset; causing, in response to the first inspection request, a dependency graph to be displayed in the dynamic display, the dependency graph displaying hierarchical dependencies among the subset of elements related to the DOM element; and generating, in the dynamic display and in response to a second inspection request for viewing a specified element of the subset of elements, a specified semantic stack trace having stack frames corresponding to the specified element, the stack frames including a first set of stack frames associated with an execution of a first program instruction to construct the specified element and a second set of stack frames generated as a result of the execution of a first subsequent program instruction to render the specified element, wherein the first subsequent program instruction has the specified element as a parameter, wherein the specified semantic stack trace provides a framework for debugging code associated with the specified element. 2. The method of claim 1 , wherein the origins subset comprises a plurality of parent elements, wherein the plurality of parent elements are sequentially linked according to respective relationship toward the creation of the DOM element. 3. The method of claim 1 , wherein the dependents subset comprises a plurality of child elements, wherein creation of each of the plurality of child elements is dependent on the DOM element. 4. The method of claim 1 , further comprising: recording, into a first node, a mapping of a current stack trace comprising stack frames associated with an execution of a first creation instruction for a first element of a set of elements in a computer program; incrementally updating the first node by recording, into the first node, a first updated mapping of the current stack trace in response to the execution of a first subsequent creation instruction that has the first element as a parameter; recording, into a second node, the mapping of the current stack trace in response to the execution of a second creation instruction for a second element of the set of elements in the computer program; incrementally updating the second node by recording, into the second node, a second updated mapping of the current stack trace in response to the execution of a second subsequent instruction that has the second element as the parameter; and in response to a determination that no additional creation instruction exists in the computer program, generating the semantic stack trace from the first node and the second node. 5. The method of claim 4 , wherein the current stack trace is a stack trace that includes individual stack frames generated up to a particular point in the execution of an instruction in the computer program. 6. The method of claim 4 , wherein the second node comprises: a portion of the mapping of the current stack trace, the portion of the mapping of the current stack trace including a second set of stack frames associated with the execution of the second instruction to construct the second element; and a pointer to the first node. 7. A method executed by a processor of a computing device having a memory with executable instructions stored thereon for implementing execution of the method, comprising: generating a semantic stack trace associated with a plurality of elements in a computer program; in response to a hover request of a document object model (DOM) element on an interactive user interface: determining, from the semantic stack trace associated with the plurality of elements, a subset of elements related to the DOM element, wherein the subset comprises an origins subset having elements that created the DOM element and a dependents subset having elements that depend on the DOM element; and generating a dynamic display containing the origins subset, wherein the origins subset includes a plurality of elements sequentially linked to the DOM element based on their respective relationship toward creation of the DOM element; and generating, in the dynamic display and in response to an inspection request for viewing a specified element of the subset of elements, a specified semantic stack trace having stack frames corresponding to the specified element, the stack frames including a first set of stack frames associated with an execution of a first program instruction to construct the specified element and a second set of stack frames generated as a result of the execution of a first subsequent program instruction to render the specified element, wherein the first subsequent program instruction has the specified element as a parameter, wherein the specified semantic stack trace provides a framework for debugging code associated with the specified element. 8. The method of claim 7 , wherein generating the specified semantic stack trace includes: receiving a first inspection request for viewing details of the origins subset; and causing, in response to the first inspection request, a dependency graph to be displayed, the dependency graph displaying hierarchical dependencies among the subset of elements related to the DOM element. 9. The method of claim 7 , wherein generating the semantic stack trace comprises: recording, into a first node, a mapping of a current stack trace in response to an execution of a first instruction to construct a first element of a plurality of elements in a computer program, wherein the current stack trace is a stack trace that includes stack frames generated up to a particular point in the execution of code instructions in the computer program; storing the first node in a data structure configured for storing a plurality of nodes, wherein the first node includes a first set of stack frames associated with the execution of the first instruction to construct the first element; and incrementally updating the first node by recording, into the first node, a first updated mapping of the current stack trace in response to the execution of a first subsequent instruction that has the first element as a parameter. 10. The method of claim 9 , wherein generating the semantic stack trace further comprises: recording, into a second node, the mapping of the current stack trace in response to the execution of a second instruction to construct a second element of the plurality of elements in the computer program; storing the second node in the data structure; incrementally updating the second node by recording, into the second node, a second updated mapping of the current stack trace in response to the execution of a second subsequent instruction that has the second element as the parameter; and in response to a determination that no additional instruction for constructing an element exists in the computer program, generating a node string from the plurality of nodes th
Logic programming, e.g. PROLOG programming language · CPC title
Structural analysis for program understanding · CPC title
Monitoring of software · CPC title
Tree-structured documents (parsing G06F40/205; validation G06F40/226) · CPC title
Performance evaluation by tracing or monitoring · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.