Generating semantic flow graphs representing computer programs
First Claim
Patent Images
1. A computer-implemented method comprising:
- generating, using a processor, a raw flow graph based on execution of a program, the raw flow graph comprises a plurality of boxes and a plurality of wires; and
generating a semantic flow graph based on the raw flow graph and based on an ontology in a subject matter-domain associated with the program, wherein the generating the semantic flow graph includes, for each box in the raw flow graph;
identifying a respective concrete function represented by the box in the raw flow graph, wherein the respective concrete function is a function called during the execution of the program;
searching the ontology for the respective concrete function; and
based at least in part on determining that the respective concrete function is found in the ontology;
identifying a respective semantic concept corresponding to the respective concrete function according to the ontology; and
replacing the box in the raw flow graph with one or more objects representing the respective semantic concept,wherein the semantic flow graph illustrates one or more semantic concepts of the program.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer-implemented method includes generating a raw flow graph based on execution of a program. A semantic flow graph is generated based on the raw flow graph and based on an ontology in a subject matter-domain associated with the program. The semantic flow graph illustrates one or more semantic concepts of the program.
51 Citations
17 Claims
-
1. A computer-implemented method comprising:
-
generating, using a processor, a raw flow graph based on execution of a program, the raw flow graph comprises a plurality of boxes and a plurality of wires; and generating a semantic flow graph based on the raw flow graph and based on an ontology in a subject matter-domain associated with the program, wherein the generating the semantic flow graph includes, for each box in the raw flow graph; identifying a respective concrete function represented by the box in the raw flow graph, wherein the respective concrete function is a function called during the execution of the program; searching the ontology for the respective concrete function; and based at least in part on determining that the respective concrete function is found in the ontology; identifying a respective semantic concept corresponding to the respective concrete function according to the ontology; and replacing the box in the raw flow graph with one or more objects representing the respective semantic concept, wherein the semantic flow graph illustrates one or more semantic concepts of the program. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
a memory having computer-readable instructions; and one or more processors for executing the computer-readable instructions to cause the one or more processors to; generate a raw flow graph based on execution of a program, the raw flow graph comprises a plurality of boxes and a plurality of wires; and generate a semantic flow graph based on the raw flow graph and based on an ontology in a subject matter-domain associated with the program, wherein the generating the semantic flow graph includes, for each box in the raw flow graph; identifying a respective concrete function represented by the box in the raw flow graph, wherein the respective concrete function is a function called during the execution of the program; searching the ontology for the respective concrete function; and based at least in part on determining that the respective concrete function is found in the ontology; identifying a respective semantic concept corresponding to the respective concrete function according to the ontology; and replacing the box in the raw flow graph with one or more objects representing the respective semantic concept, wherein the semantic flow graph illustrates one or more semantic concepts of the program. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer-program product for generating a semantic flow graph, the computer-program product comprising a computer-readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform a method comprising:
-
generating a raw flow graph based on execution of a program, the raw flow graph comprises a plurality of boxes and a plurality of wires; and generating a semantic flow graph based on the raw flow graph and based on an ontology in a subject matter-domain associated with the program, wherein the generating the semantic flow graph includes, for each box in the raw flow graph; identifying a respective concrete function represented by the box in the raw flow graph, wherein the respective concrete function is a function called during the execution of the program; searching the ontology for the respective concrete function; and based at least in part on determining that the respective concrete function is found in the ontology; identifying a respective semantic concept corresponding to the respective concrete function according to the ontology; and replacing the box in the raw flow graph with one or more objects representing the respective semantic concept, wherein the semantic flow graph illustrates one or more semantic concepts of the program. - View Dependent Claims (14, 15, 16, 17)
-
Specification