Virtual assistant with conversion and analysis capabilities
View Patent ↗Methods and systems for converting computer code are provided. The method may comprise (1) receiving, by one or more processors, a first set of computer code in a first coding language and comprising a plurality of components; (2) generating, by the one or more processors, an interrelationship graph of the plurality of components based upon the first set of computer code, wherein the interrelationship graph represents an interrelationship among the plurality of components; (3) generating, by the one or more processors and based upon the interrelationship graph, a plurality of configuration files associated with at least some of the plurality of components; and/or (4) applying, by the one or more processors, a plurality of templates associated with a second coding language to the plurality of configuration files to generate a second set of computer code in the second coding language.
1 . A computer-implemented method for converting computer code to a new coding language, comprising:
receiving, by one or more processors, a first set of computer code in a first coding language and comprising a plurality of components;
generating, by the one or more processors, an interrelationship graph of the plurality of components based upon the first set of computer code, wherein the interrelationship graph represents an interrelationship among a plurality of nodes associated with the plurality of components;
adding, by the one or more processors, metadata to the interrelationship graph;
filtering, by the one or more processors, the plurality of nodes based upon the metadata of the interrelationship graph to generate a filtered set of nodes;
generating, by the one or more processors using the filtered set of nodes and based upon the interrelationship graph, a plurality of configuration files; and
applying, by the one or more processors, a plurality of templates associated with a second coding language to the plurality of configuration files to generate a second set of computer code in the second coding language.
2 . The computer-implemented method of claim 1 , wherein generating the interrelationship graph includes:
parsing, by the one or more processors via a virtual assistant, the first set of computer code to obtain the plurality of nodes and a plurality of directed edges, wherein the plurality of nodes includes nodes associated with the plurality of components, and the plurality of directed edges represents an interrelationship among the plurality of nodes; and
generating, by the one or more processors via the virtual assistant, the interrelationship graph including the plurality of nodes and the plurality of directed edges.
3 . The computer-implemented method of claim 2 , wherein generating the plurality of configuration files includes: generating, by the one or more processors, the plurality of configuration files based upon the plurality of nodes and the plurality of directed edges.
4 . The computer-implemented method of claim 1 , wherein the interrelationship among the plurality of components comprises at least one of:
(i) an input of a second component of the plurality of components including an output of a first component of the plurality of components,
(ii) a second component calling a first component, or
(iii) a second component including a first component.
5 . The computer-implemented method of claim 1 , wherein the plurality of components includes at least one of: (i) one or more functions, (ii) one or more classes, or (iii) one or more files.
6 . The computer-implemented method of claim 1 , wherein the plurality of templates is retrieved from a template database or received from a user.
7 . The computer-implemented method of claim 1 , wherein:
the plurality of configuration files includes a plurality of parameters, and
at least one parameter of the plurality of parameters is associated with a function, wherein the function generates a value associated with the at least one parameter when applying the plurality of templates to the plurality of configuration files.
8 . A computing system for converting computer code to a new coding language, comprising:
one or more processors; and
a memory storing executable instructions thereon that, when executed by the one or more processors, cause the one or more processors to:
receive a first set of computer code in a first coding language and comprising a plurality of components;
generate an interrelationship graph of the plurality of components based upon the first set of computer code, wherein the interrelationship graph represents an interrelationship among a plurality of nodes associated with the plurality of components;
add metadata to the interrelationship graph;
filter the plurality of nodes based upon the metadata of the interrelationship graph to generate a filtered set of nodes;
generate, using the filtered set of nodes and based upon the interrelationship graph, a plurality of configuration files; and
apply a plurality of templates associated with a second coding language to the plurality of configuration files to generate a second set of computer code in the second coding language.
9 . The computing system of claim 8 , wherein to generate the interrelationship graph, the executable instructions, when executed by the one or more processors, further cause the one or more processors to:
parse, via a virtual assistant, the first set of computer code to obtain the plurality of nodes and a plurality of directed edges, wherein the plurality of nodes includes nodes associated with the plurality of components, and the plurality of directed edges represents an interrelationship among the plurality of nodes; and
generate, via the virtual assistant, the interrelationship graph including the plurality of nodes and the plurality of directed edges.
10 . The computing system of claim 9 , wherein to generate the plurality of configuration files, the executable instructions, when executed by the one or more processors, further cause the one or more processors to: generate the plurality of configuration files based upon the plurality of nodes and the plurality of directed edges.
11 . The computing system of claim 8 , wherein the interrelationship among the plurality of components comprises at least one of:
(i) an input of a second component of the plurality of components including an output of a first component of the plurality of components,
(ii) a second component calling a first component, or
(iii) a second component including a first component.
12 . The computing system of claim 8 , wherein the plurality of components includes at least one of: (i) one or more functions, (ii) one or more classes, or (iii) one or more files.
13 . The computing system of claim 8 , wherein the plurality of templates is retrieved from a template database or received from a user.
14 . The computing system of claim 8 , wherein:
the plurality of configuration files includes a plurality of parameters, and
at least one parameter of the plurality of parameters is associated with a function, wherein the function generates a value associated with the at least one parameter when applying the plurality of templates to the plurality of configuration files.
15 . A non-transitory, computer-readable storage medium comprising non-transitory computer-readable instructions stored thereon for converting computer code to a new coding language, wherein the instructions, when executed by one or more processors, cause the one or more processors to:
receive a first set of computer code in a first coding language and comprising a plurality of components;
generate an interrelationship graph of the plurality of components based upon the first set of computer code, wherein the interrelationship graph represents an interrelationship among a plurality of nodes associated with the plurality of components;
add metadata to the interrelationship graph;
filter the plurality of nodes based upon the metadata of the interrelationship graph to generate a filtered set of nodes;
generate, using the filtered set of nodes and based upon the interrelationship graph, a plurality of configuration files; and
apply a plurality of templates associated with a second coding language to the plurality of configuration files to generate a second set of computer code in the second coding language.
16 . The non-transitory, computer-readable storage medium of claim 15 , wherein to generate the interrelationship graph, the instructions when executed by the one or more processors, cause the one or more processors to:
parse, via a virtual assistant, the first set of computer code to obtain the plurality of nodes and a plurality of directed edges, wherein the plurality of nodes includes nodes associated with the plurality of components, and the plurality of directed edges represents an interrelationship among the plurality of nodes; and
generate, via the virtual assistant, the interrelationship graph including the plurality of nodes and the plurality of directed edges.
17 . The non-transitory, computer-readable storage medium of claim 16 , wherein to generate the plurality of configuration files, the instructions when executed by the one or more processors, cause the one or more processors to: generate the plurality of configuration files based upon the plurality of nodes and the plurality of directed edges.