Method and system for software enhancement and management
AssigneeC Squared IP Holdings LLC
InventorsScott Andrew Smith, Christopher Graham Smith, Kevin David Howard
Life of this patent
Estimating the term…
Abstract
A software enhancement and management system (E&M System) can include two ways to decompose existing software such that new functionality can be added: functional decomposition and time-affecting linear pathway (TALP) decomposition. Functional decomposition captures the inputs and outputs of the existing software's functions and attaches the new algorithmic constructs presented as other functions that receive the outputs of the existing software's functions. TALP decomposition allows for the generation of time-prediction polynomials that approximate time-complexity functions, speedup, and automatic dynamic loop-unrolling-based parallelization for each TALP.
Claims20
A method of software enhancement and management, comprising:
- inputting one or more data transformation algorithms, wherein the one or more data transformation algorithms do not include software application source code;
- simulating behavior of the one or more data transformation algorithms to determine which of the one or more data transformation algorithms to decompose, and decomposing the one or more data transformation algorithms into sets of time-affecting linear pathways (TALPs), wherein each TALP is associated with input variable attribute value ranges and timings;
- selecting one or more TALPS based on acceptance criteria including input and output value ranges and timings;
- constructing a time complexity estimation polynomial and a space complexity estimation polynomial for each of the selected one or more TALPs decomposed from the one or more data transformation algorithms by executing each of the one or more selected TALPs using each value in a set of initial input control values from the one or more TALP-associated input variable attribute value ranges, such that a specific time complexity estimation polynomial and a specific space complexity estimation polynomial are associated with each of the selected one or more TALPs and stored in a TALP pool;
- modeling outcomes with actual expected input data values using the specific time complexity estimation polynomial and the specific space complexity estimation polynomial from the TALP pool associated with for tach of the selected one or more TALPs;
- and
- defining TALP groupings for solution sets including optimized and discretized modeled outcomes.
A software enhancement and management system, comprising:
- a memory;
- a processor operatively coupled with the memory, wherein the processor is configured to execute program code to:
- input one or more data transformation algorithms, wherein the one or more data transformation algorithms do not include software application source code;
- simulate behavior of the one or more data transformation algorithms to determine which of the one or more data transformation algorithms to decompose, and decompose the one or more data transformation algorithms into sets of time-affecting linear pathways (TALPs), wherein each TALP is associated with input variable attribute value ranges and timings;
- select one or more TALPS based on acceptance criteria including input and output value ranges and timings;
- construct a time complexity estimation polynomial and a space complexity estimation polynomial for each of the selected one or more TALPs decomposed from the one or more data transformation algorithms by executing each of the one or more selected TALPs using each value in a set of initial input control values from the one or more TALP-associated input variable attribute value ranges, such that a specific time complexity estimation polynomial and a specific space complexity estimation polynomial are associated with each of the selected one or more TALPs and stored in a TALP pool;
- model outcomes with actual expected input data values using the specific time complexity estimation polynomial and the specific space complexity estimation polynomial from the TALP pool associated with the selected one or more TALPs;
- and
- define TALP groupings for solution sets including optimized and discretized modeled outcomes.
A method of software enhancement and management, comprising:
- receiving one or more data transformation algorithms and simulating behavior of the one or more data transformation algorithms to determine decomposition of the one or more data transformation algorithms, wherein the one or more data transformation algorithms do not include software application source code;
- decomposing the one or more data transformation algorithms into a plurality of time-affecting linear pathways (TALPs);
- determining if one or more of the plurality of TALPs meet an acceptance criteria with certain input and output values and timings;
- gathering the determined one or more of the plurality of TALPs for processing;
- generating time complexity estimation polynomials and space complexity estimation polynomials for the plurality of TALPs decomposed from the one or more transformation algorithms by executing the plurality of TALPs using each value in a set of initial input control values from associated input variable attribute value ranges, such that each of the plurality of TALPs with a specific associated time complexity estimation polynomial and a specific space complexity estimation polynomial are stored in a TALP pool;
- and
- spreading one or more input data variable values over stored TALPs from the TALP pool to discretize and optimize outputs to reach a predetermined goal.
Dependencies are inferred from the claim text.