Library upgrade method, apparatus, and system
AssigneeDevFactory FZ-LLC
InventorsAditya T. Kadam, Swapnil S. Mahajan
Life of this patent
Estimating the term…
Abstract
A method and apparatus are disclosed for upgrading libraries in a source code program by evaluating libraries in the source code program for predetermined selection criteria specifying library performance limitations to identify at least a first library which does not meet the plurality of predetermined selection criteria and then identifying a first alternative library that is suitable for substitution for the first library so that the source code program may be automatically modified to replace the first library with the first alternative library, thereby generating a modified source code program having an upgraded library functionality.
Claims17
A method performed by a device having a processor and memory for enhancing operable functionality of a source code program, comprising:
- receiving, by the device, a source code program submitted by a developer;
- identifying, by the device, one or more libraries in the source code program;
- evaluating, by the device, each of the one or more libraries for a plurality of predetermined selection criteria specifying library performance limitations to identify at least a first library which does not meet the plurality of predetermined selection criteria;
- identifying, by the device, at least a first alternative library that is suitable for substitution for the first library;
- and
- automatically modifying the source code program to replace the first library with the first alternative library, thereby generating a modified source code program having an upgraded library functionality;
- wherein automatically modifying the source code program comprises:
- finding all API call references to the first library in the source code program;
- running a test suite on the source code program to get coverage data for each file in the source code program;
- determining if there are a minimum number of API call references to at least one test case in the first library;
- replacing the first library in the source code program with the first alternative library to generate a modified source code program if the minimum number of API call references is met;
- and
- compiling and building the modified source code program.
A non-transitory, computer program product comprising at least one recordable medium having stored thereon executable instructions and data which, when executed by at least one processing device, cause the at least one processing device to enhance operable functionality of a source code program by:
- receiving a source code program submitted by a developer;
- identifying one or more libraries in the source code program;
- evaluating each of the one or more libraries for a plurality of predetermined selection criteria specifying library performance limitations to identify at least a first library which does not meet the plurality of predetermined selection criteria;
- identifying at least a first alternative library that is suitable for substitution for the first library;
- and
- automatically modifying the source code program to replace the first library with the first alternative library, thereby generating a modified source code program having an upgraded library functionality;
- wherein automatically modifying the source code program comprises:
- finding all API call references to the first library in the source code program;
- running a test suite on the source code program to get coverage data for each file in the source code program;
- determining if there are a minimum number of API call references to at least one test case in the first library;
- replacing the first library in the source code program with the first alternative library to generate a modified source code program if the minimum number of API call references is met;
- and
- compiling and building the modified source code program.
A system comprising:
- one or more processors;
- a memory coupled to at least one of the processors;
- and
- a set of instructions stored in the memory and executed by at least one of the processors to enhance operable functionality of a software program, wherein the set of instructions are executable to perform actions of:
- receiving a source code program submitted by a developer;
- identifying one or more libraries in the source code program;
- evaluating each of the one or more libraries for a plurality of predetermined selection criteria specifying library performance limitations to identify at least a first library which does not meet the plurality of predetermined selection criteria;
- identifying at least a first alternative library- that is suitable for substitution for the first library, and
- automatically modifying the source code program to replace the first library with the first alternative library, thereby generating a modified source code program having an upgraded library functionality;
- wherein automatically modifying the source code program comprises:
- finding all API call references to the first library in the source code program;
- running a test suite on the source code program to get coverage data for each file in the source code program;
- determining if there are a minimum number of API call references to at least one test case in the first library;
- replacing the first library in the source code program with the first alternative library to generate a modified source code program if the minimum number of API call references is met;
- and
- compiling and building the modified source code program.
Dependencies are inferred from the claim text.