Patent ID: 7228529

Claim:
A method of restructuring a source computer program to a target computer program, the method comprising the steps of: defining a source computer program P that consists of source code, said source code of the source computer program P comprising a main function F 0 and a set of functions {F 1 , F 2 , . . . F r }, wherein F 1 , F 2 , . . . F r are each a function other than the main function F 0 and are each adapted return a value to the main function F 0 as a result of being executed in response to being called by the main function F 0 , wherein each function in the set of functions {F 1 , F 2 . . . F r } is external to the main pro gram F 0 and comprises one or more statements and/or declarations, and wherein r is at least 1; defining for said source computer program P, a set of tasks T={T 1 , T 2 , T n } able to be performed by said source computer program P, wherein n is at least 1; determining, for each task T i in said set of tasks T, a corresponding set of input data sets U i ={u i1 , u i2 , . . . u ip } for task T i , wherein p is a function of i denoted as p(i) such that p(i) is at least 1, and wherein each input data set u ij in U i consists of an explicit data value of at least one variable in P; and determining, for each set of input data sets U i ={u i1 , u i2 , . . . u ip } a corresponding set of programs {c i1 , c i2 , . . . c ip } such that each program c ij in the set of programs {c i1 , c i2 , . . . c ip } comprises declarations and executable statements from the source code of P required to execute task T i for input data set u ij in U i ; processing each set of programs {c i1 , c 2 , . . . c ip } to generate a component C i adapted to execute the respective task T i , said processing resulting in generation of a set of components C={C 1 , C 2 , . . . C n }; and generating a target computer program P R from the set of components C such that P R comprises a main program H 0 and a set of functions H={H 1 , H 2 , . . . H n }, wherein the set of functions H is derived from the set of components C such that H 1 is derived from C i for i=1, 2, . . . n, and wherein the main program H 0 comprises at least one conditional statement adapted to call each function H i in the set of functions H to execute the task T i upon the at least one conditional statement encountering the task T i .