Software library usage optimization
An example operation may include one or more of training a generative artificial intelligence (GenAI) model based on execution of the GenAI model on software libraries and descriptions of intent of the software libraries, receiving a first set of software libraries and a second set of software libraries, identifying a first software library within the first set of software libraries that includes redundant functionality with a second software library within the second set of software libraries based on execution of a generative artificial intelligence (GenAI) model on the first and second sets of libraries, and displaying an identifier of the first and second software libraries via a user interface. The example operation may further include an AI agent that performs an action based on the identifier.
1 . An apparatus comprising:
a processor configured to:
receive a first set of software libraries and a second set of software libraries;
execute a generative artificial intelligence (GenAI) model on source code and repository descriptions of software libraries from among the first set of software libraries and the second set of software libraries to determine functional intent for the software libraries;
identify that a first software library from the first set of software libraries and a second software library from the second set of software libraries include a redundant functionality based on a comparison of corresponding functional intents of the first software library and the second software library;
generate an instruction to pair the first software library and the second software library; and
display the instruction on a user interface.
2 . The apparatus of claim 1 , wherein the processor is configured to:
identify that the first software library and the second software library include the redundant functionality based on naming conventions of the first software library and the second software library.
3 . The apparatus of claim 1 , wherein the processor is configured to:
identify the corresponding functional intents of the first software library and the second software library based on a first source code of the first software library and a second source code of the second software library.
4 . The apparatus of claim 1 , wherein the processor is configured to:
read a description of the first software library from a first software repository; and
read a description of the second software library from a second software repository, and
identify that the first software library and the second software library include the redundant functionality based on the description of the first software library and the description of the second software library.
5 . The apparatus of claim 1 , wherein the processor is configured to:
determine corresponding efficiencies of the first software library and the second software library.
6 . The apparatus of claim 5 , wherein the processor is configured to:
identify that the first software library and the second software library include the redundant functionality based on the corresponding efficiencies.
7 . The apparatus of claim 1 , wherein the processor is configured to:
receive feedback about the corresponding functional intents using the user interface; and
retrain the GenAI model using the feedback, wherein an AI agent performs an action based on the corresponding functional intents.
8 . The apparatus of claim 1 , wherein the processor is configured to execute a security check on the first software library and the second software library based on at least one of a first source code of the first software library and a second source code of the second software library.
9 . The apparatus of claim 1 , wherein the processor is configured to receive feedback indicating whether the first software library and the second software library include the redundant functionality, and update the GenAI model based on the user feedback.
10 . The apparatus of claim 1 , wherein the processor is configured to determine that the first software library and the second software library have different names but a shared functional intent as determined by the GenAI model, and perform a deduplication operation to remove one of the first software library and the second software library.
11 . A method comprising:
receiving a first set of software libraries and a second set of software libraries;
executing a generative artificial intelligence (GenAI) model on source code and repository descriptions of software libraries from among the first set of software libraries and the second set of software libraries to determine functional intent for the software libraries;
identifying that a first software library from the first set of software libraries and a second software library from the second set of software libraries include a redundant functionality based on a comparison of corresponding functional intents the first software library and the second software library;
generating an instruction to pair the first software library and the second software library; and
displaying the instruction on a user interface.
12 . The method of claim 11 , wherein the identifying comprises:
identifying that the first software library and the second software library include the redundant functionality based on naming conventions of the first software library and the second software library.
13 . The method of claim 11 , wherein the method further comprises:
identifying the corresponding functional intents of the first software library and the second software library based on a first source code of the first software library and a second source code of the second software library.
14 . The method of claim 11 , wherein the method further comprises:
reading a description of the first software library from a first software repository; and
reading a description of the second software library from a second software repository,
wherein the identifying comprises:
identifying that the first software library and the second software library include the redundant functionality based on the description of the first software library and the description of the second software library.
15 . The method of claim 11 , wherein the method further comprises:
determining corresponding efficiencies of the first software library and the second software library.
16 . The method of claim 15 , wherein the identifying comprises:
identifying that the first software library and the second software library include the redundant functionality based on the corresponding efficiencies.
17 . The method of claim 11 , wherein the method further comprises:
receiving feedback about the corresponding functional intents using the user interface; and
retraining the GenAI model using the feedback, wherein an AI agent performs an action based on the corresponding functional intents.
18 . A non-transitory computer-readable medium comprising instructions that, when executed by a processor, cause the processor to perform:
receiving a first set of software libraries and a second set of software libraries;
executing a generative artificial intelligence (GenAI) model on source code and repository descriptions of software libraries from among the first set of software libraries and the second set of software libraries to determine functional intent for the software libraries;
identifying that a first software library from the first set of software libraries and a second software library from the second set of software libraries include a redundant functionality based on corresponding functional intents of the first software library and the second software library;
generating an instruction to pair the first software library and the second software library; and
displaying the instruction on a user interface.
19 . The non-transitory computer-readable medium of claim 18 , wherein the identifying comprises:
identifying that the first software library and the second software library include the redundant functionality based on naming conventions of the first software library and the second software library.
20 . The non-transitory computer-readable medium of claim 18 , wherein the identifying comprises:
identifying the corresponding functional intents of the first software library and the second software library based on a first source code of the first software library and a second source code of the second software library.