Methods and systems for self-optimizing library functions
AssigneeBank of America Corporation
InventorSandeep Verma
Life of this patent
Estimating the term…
Abstract
Provided herein is a machine learning engine for increasing efficiency of an application written in a computer code, the code associated with a programing library that includes a library function, the function being associated with a default algorithm and a plurality of alternate algorithms. The machine learning engine may be configured to scan the code to identify occurrences of the library function; create altered application versions having altered algorithm(s); instruct a processor to iteratively execute the altered versions of the application; record an execution parameter associated with executing the library function at each occurrence; and output an optimized algorithm associated with the library function for each occurrence, based at least in part on the execution parameter.
Claims18
A method for machine learning-based self-selection of computer code of an application, the computer code being associated with a programing library, the method utilizing a computer processor and one or more non-transitory computer-readable media storing computer executable instructions, wherein the instructions when executed by the computer processor scan a computer code, the method comprising:
- identifying a library function from the programming library, the library function being associated with a default algorithm and a plurality of alternate algorithms;
- using a machine learning engine:
- scanning the computer code;
- detecting a first occurrence of the library function in the application, the first occurrence associated with a first class of input data;
- detecting a second occurrence of the library function in the application, the second occurrence associated with a second class of input data;
- generating a machine learning model based at least in part on:
- iterated execution of the library function for the first class of input data using the default algorithm and each of the alternate algorithms;
- and
- iterated execution of the library function for the second class of input data using the default algorithm and each of the alternate algorithms;
- and
- outputting a first optimized algorithm associated with the library function and the first class of input data and a second optimized algorithm associated with the library function and the second class of input data;
- and
- based on output from the machine learning engine, re-coding the application to execute the first occurrence of the library function using the first optimized algorithm and the second occurrence of the library function using the second optimized algorithm.
A machine learning engine for increasing efficiency of an application written in a computer code, the computer code associated with a programing library, wherein the programming library comprises a library function, wherein the library function is associated with a default algorithm and a plurality of alternate algorithms, wherein the machine learning engine is configured to:
- scan the computer code to identify a plurality of occurrences of the library function;
- instruct a processor to iteratively execute altered versions of the application, each altered version comprising an altered algorithm at one or more of the occurrences;
- record an execution parameter associated with executing the library function at each of the plurality of occurrences;
- and
- output an optimized algorithm associated with the library function for each of the plurality of occurrences, based at least in part on the execution parameter;
- wherein the machine learning engine is further configured to instruct the processor to operate in either a training mode or a default mode, wherein:
- in the training mode, at a predetermined fraction of occurrences, the incoming datasets are processed using the altered versions of the application;
- and
- in the default mode, all incoming datasets are processed using the application.
A system, comprising a processor, an application, and a programming library, wherein the programming library comprises a library function, the library function being associated with a default algorithm and a plurality of alternate algorithms, wherein:
- the programming library is configured to work in either a variable algorithm mode or a fixed algorithm mode, wherein:
- in the variable algorithm mode, the programming library configures the library function using a specified algorithm, wherein the specified algorithm is selected from the default algorithm and the plurality of alternate algorithms;
- and
- in the fixed algorithm mode, the programming library configures the library function using the default algorithm;
- the application calls the library function;
- and
- the processor is configured to execute the application in either a variable execution mode or a fixed execution mode, wherein:
- in the variable execution mode, the programming library works in the variable algorithm mode;
- and
- in the fixed execution mode, the programming library works in the fixed algorithm mode;
- the system further comprising a machine learning engine, the machine learning engine configured to instruct the processor to operate in either a training mode or a default mode, wherein:
- in the training mode, at a predetermined fraction of occurrences, incoming datasets are processed using altered versions of the application;
- and
- in the default mode, incoming datasets are processed using the application.
Dependencies are inferred from the claim text.