Editor visualization of symbolic relationships
First Claim
Patent Images
1. In a computing environment, a method of enhancing dynamic code, the method comprising:
- obtaining one or more first data structures defining constructs in a body of dynamic language source code;
from the one or more first data structures, extracting identifier information for one or more of the defined constructs;
augmenting knowledge about the constructs, wherein augmenting comprises modeling the results of executing code including symbolic execution, abstraction interpretation, and control and data flow analysis;
generating metadata about the body of the dynamic language source code by using at least the identifier information extracted from the one or more first data structures and the augmented knowledge, the generated metadata being represented as an abstract symbol table (AST);
traversing the AST and constructing a hierarchical symbol table that expresses scoping of all discovered symbols;
performing a subsequent traversal of the AST to accomplish type inferencing and member population;
visually enhancing the body of dynamic language source code based on the hierarchical symbol table structure; and
wherein visually enhancing the body of dynamic language source code comprises indicating symbol scope by visual artifacts.
2 Assignments
0 Petitions
Accused Products
Abstract
Enhancing dynamic code. A method includes obtaining one or more first data structures defining constructs in a body of dynamic language source code. From the one or more first data structures, identifier information is extracted for one or more of the defined constructs. Knowledge about the constructs is augmented. Using the identifier information and augmented knowledge, metadata about the body of the dynamic language source code is generated. The generated metadata is represented as a symbol table. The body of dynamic language source code is visually enhanced based on the symbol table structure.
140 Citations
18 Claims
-
1. In a computing environment, a method of enhancing dynamic code, the method comprising:
-
obtaining one or more first data structures defining constructs in a body of dynamic language source code; from the one or more first data structures, extracting identifier information for one or more of the defined constructs; augmenting knowledge about the constructs, wherein augmenting comprises modeling the results of executing code including symbolic execution, abstraction interpretation, and control and data flow analysis; generating metadata about the body of the dynamic language source code by using at least the identifier information extracted from the one or more first data structures and the augmented knowledge, the generated metadata being represented as an abstract symbol table (AST); traversing the AST and constructing a hierarchical symbol table that expresses scoping of all discovered symbols; performing a subsequent traversal of the AST to accomplish type inferencing and member population; visually enhancing the body of dynamic language source code based on the hierarchical symbol table structure; and wherein visually enhancing the body of dynamic language source code comprises indicating symbol scope by visual artifacts. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. One or more computer readable hardware storage devices comprising computer executable instructions that when executed by one or more processors cause one or more processors to perform the following:
-
obtaining one or more first data structures defining constructs in a body of dynamic language source code; from the one or more first data structures, extracting identifier information for one or more of the defined constructs; augmenting knowledge about the constructs, wherein augmenting comprises modeling the results of executing code including symbolic execution, abstraction interpretation, and control and data flow analysis; generating metadata about the body of the dynamic language source code by using at least the identifier information extracted from the one or more first data structures and the augmented knowledge, the generated metadata being represented as an abstract symbol table (AST); traversing the AST and constructing a hierarchical symbol table that expresses scoping of all discovered symbols; performing a subsequent traversal of the AST to accomplish type inferencing and member population; visually enhancing the body of dynamic language source code based on the hierarchical symbol table structure; and wherein visually enhancing the body of dynamic language source code comprises indicating symbol scope by visual artifacts. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. In a computing environment, a system enhancing dynamic code, the system comprising:
-
one or more processors; one or more computer readable media coupled to the one or more processors, wherein the one or more computer readable media comprise computer executable instruction that when executed by one or more of the one or more processors cause one or more of the one or more processors to perform the following; parsing source code to generate one or more syntax trees defining constructs in a body of dynamic language source code; from the one or more syntax trees, extracting identifier information for one or more of the defined constructs; augmenting knowledge about the constructs by at least one of explicit inspection of the body of source code or implied inferences related to the source code, wherein augmenting comprises modeling the results of executing code including symbolic execution, abstraction interpretation, and control and data flow analysis; producing a correlation between identifiers and augmented knowledge; generating metadata about the body of the dynamic language source code by using at least the identifier information extracted from the one or more syntax trees and the augmented knowledge, the generated metadata being represented as an abstract symbol table (AST); traversing the AST and constructing a hierarchical symbol table that expresses scoping of all discovered symbols; performing a subsequent traversal of the AST to accomplish type inferencing and member population; visually enhancing the body of dynamic language source code based on the hierarchical symbol table structure; and wherein visually enhancing the body of dynamic language source code comprises indicating symbol scope by visual artifacts.
-
Specification