Code morphing manager
First Claim
1. A method for converting software from a source version to a target version, comprising:
- creating a graph having a plurality of nodes and a plurality of edges, each of the plurality of nodes corresponding to a version and each of the plurality of edges corresponding to a code morpher having an input version and an output version;
constructing a path from a source node, associated with the source version, to a target node associated with the target version;
determining a sequence of code morphers based on the path; and
applying the sequence of code morphers to the software.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present invention provide a method and system for converting software from a source version to a target version. In one embodiment, a plurality of code morphers may be associated based on the input version and the output version of each code morpher. A sequerice of code morphers may be determined based on the source version and the target version, and then applied to the software. In another embodiment, a graph having a plurality of nodes and a plurality of edges between the nodes may be created. Each of the plurality of nodes may correspond to a version, while each of the plurality of edges may correspond to a code morpher. A path through the graph may be constructed from a source node, associated with the source version, to a target node associated with the target version. A sequence of code morphers may be determined from the path and then applied to the software. In a further embodiment, a finite state automata having a plurality of states and a plurality of transitions between the states may be created. Each of the plurality of states may correspond to a version, while each of the plurality of transitions may correspond to a code morpher. A path through the finite state automata may be constructed from a start state, associated with the source version, to an accept state associated with the target version. A sequence of code morphers may be determined from the path and then applied to the software.
-
Citations
42 Claims
-
1. A method for converting software from a source version to a target version, comprising:
-
creating a graph having a plurality of nodes and a plurality of edges, each of the plurality of nodes corresponding to a version and each of the plurality of edges corresponding to a code morpher having an input version and an output version;
constructing a path from a source node, associated with the source version, to a target node associated with the target version;
determining a sequence of code morphers based on the path; and
applying the sequence of code morphers to the software. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer readable medium including instructions adapted to be executed by at least one processor to implement a method for transforming software from a source version to a target version, the method comprising:
-
creating a graph having a plurality of nodes and a plurality of edges, each of the plurality of nodes corresponding to a version and each of the plurality of edges corresponding to a code morpher having an input version and an output version;
constructing a path from a source node, associated with the source version, to a target node associated with the target version;
determining a sequence of code morphers based on the path; and
applying the sequence of code morphers to the software. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A system for transforming application software from an application programming interface source version to an application programming interface target version, comprising:
-
a processor; and
a memory, coupled to the processor, storing the application software and instructions adapted to be executed by the processor to;
create a graph having a plurality of nodes and a plurality of edges, each of the plurality of nodes corresponding to a version and each of the plurality of edges corresponding to a code morpher having an input version and an output version, construct a path from a source node associated with the source version, to a target node associated with the target version, determine a sequence of code morphers based on the path, and apply the sequence of code morphers to the software. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A method for converting software from a source version to a target version, comprising:
-
associating a plurality of code morphers based on an input version and an output version of each code morpher;
determining a sequence of code morphers based on the source version and the target version; and
applying the sequence of code morphers to the software. - View Dependent Claims (33, 34, 35, 36)
-
-
37. A method for converting software from a source version to a target version, comprising:
-
creating a finite state automata having a plurality of states and a plurality of transitions, each of the plurality of states corresponding to a version and each of the plurality of transitions corresponding to a code morpher having an input version and an output version;
constructing a path from a start state, associated with the source version, to an accept state, associated with the target version;
determining a sequence of code morphers based on the path; and
applying the sequence of code morphers to the software. - View Dependent Claims (38, 39, 40, 41, 42)
-
Specification