IP Library Granted Patent US 11,714,629
Granted Patent B2
US 11,714,629 · App. 16/953,310 · Granted Aug 1, 2023

Software dependency management

Inventors: Santosh Shaastry (Bengaluru, IN); Narendra Prabhu Gurusiddappa (Mysuru, IN); Gunaalan Srinivasan (Alagappapuram, IN); Neel Millind Renavikar (Karad, IN)
Assignee: Khoros, LLC
G06F8/65G06F8/433G06F8/71G06F8/75G06F16/24578
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,714,629
App. No.
16/953,310
Granted
Aug 1, 2023
Kind
B2
Abstract

Techniques for software dependency management are described, including receiving a query at a repository configured to store a file identifying a dependency between an application and an update, the query being configured to request retrieval and implementation of the update with the application, parsing the query to identify the update and a version of the update configured to modify the application, generating a ranking associated with the update and the version using output from a machine-learning module configured to be trained against data associated with a community, and other data associated with analyzing an issue associated with the update or the version, providing a response to the query, receiving another query requesting the update or the version, retrieving the update and the version, and implementing the update or the version, the update or the version being implemented in response to the another query.

Claims (46)

1. A method, comprising:

receiving a query of a repository, the repository being configured to store a file identifying a dependency between an application and an update, the query being configured to request retrieval and implementation of the update with the application, the dependency being associated with a program object model file;

parsing the query to identify the update and a version of the update configured to modify the application;

generating automatically a ranking associated with the update and the version using output from a machine-learning module configured to be trained against data received from a data source, the data being associated with a community, and other data retrieved from another data source, the other data being associated with analyzing an issue associated with the update or the version;

providing a response to the query including displaying the ranking, the data, and the other data;

searching automatically for code changes performed to implement data representing a project based on evaluation of prior pull requests;

receiving another query requesting at least one of the update and the version;

retrieving the at least one of the update and the version; and

implementing with the application the at least one of the update and the version, the at least one of the update and the version being retrieved and implemented in response to the another query.

2. The method of claim 1 , further comprising:

configuring a user interface to receive the another query after the displaying the ranking, the data, and the other data is performed.

3. The method of claim 1 , further comprising:

retrieving the at least one of the update and the version in response to an input.

4. The method of claim 1 , further comprising:

retrieving the at least one of the update and the version in response to the another query; and

implementing with the application associated with the dependency the at least one of the update and the version.

5. The method of claim 1 , further comprising:

invoking a self-learning loop module when the query is detected, the self-learning loop module being configured to reference one or more files stored in the data source and the another data source, the one or more files including one or more attributes associated with the update.

6. The method of claim 1 , further comprising:

invoking a self-learning loop module when the query is detected, the self-learning loop module being configured to reference one or more files stored in the data source and the another data source, the one or more files including one or more attributes associated with the version.

7. The method of claim 1 , further comprising:

calling a logic module configured to invoke one or more rules when the query is detected, the one or more rules being associated with the update and the version.

8. The method of claim 1 , further comprising:

a self-learning loop module configured to rank the update and the version based on an error rate associated with implementing the update or the version with the application, the error rate being determined during compilation of source code associated with the application after the update or the version has been implemented.

9. The method of claim 1 , wherein the ranking is generated by a ranking module configured to execute one or more ranking algorithms against the update and the version.

10. The method of claim 1 , wherein the output comprises further data received from the community, the further data being used to modify the ranking of the update against the version.

11. The method of claim 1 , wherein the other data is generated by analyzing the issue, the issue being associated with an implementation of the update before receiving the query.

12. The method of claim 1 , wherein the repository is configured to store a file having dependency data associated with the dependency and the application.

13. The method of claim 1 , wherein at least one of the one or more attributes is configured to indicate compatibility between the application and the update and the one or more versions.

14. A system, comprising:

a repository configured to store an update and a version of the update, the update and the version being a dependency of an application; and

a processor configured to receive a query of the repository, the repository being configured to store a file identifying the dependency between the application, the update, and the version, the query being configured to request retrieval and implementation of the update with the application, the dependency being associated with a program object model file, to parse the query to identify the update and the version of the update configured to modify the application, to generate automatically a ranking associated with the update and the version using output from a machine-learning module configured to be trained against data received from a data source, the data being associated with a community, and other data retrieved from another data source, the other data being associated with analyzing an issue associated with the update or the version, to provide a response to the query including displaying the ranking, the data, and the other data, to search automatically for code changes performed to implement data representing a project based on evaluation of prior pull requests, to receive another query requesting at least one of the update and the version, to retrieve the at least one of the update and the version, and to implement with the application the at least one of the update and the version, the at least one of the update and the version being retrieved and implemented in response to the another query.

15. The system of claim 14 , further comprising a ranking module having one or more algorithms configured to rank the update and the version based on further data received from one or more prior implementations of the update.

16. The system of claim 14 , wherein the ranking is generated using attributes configured to indicate compatibility between the update, the version, and the application by evaluating an implementation of the update or the version compiled before the query is received.

17. The system of claim 14 , wherein the ranking is generated using an attribute configured to indicate compatibility between the update, the version, and the application.

18. The system of claim 14 , further comprising a smart pull request module configured to identify the dependency and another dependency, the another dependency invoking another implementation of another update or another version when the update or the version is implemented with the application in response to the another query.

19. The system of claim 14 , wherein an attribute is generated by a self-learning loop module by evaluating an implementation of the update or the version to another application that is configured to perform a substantially similar function to the application, the another application also having substantially similar programmatic structure to the application, the attribute being configured to indicate compatibility between the application and the update and the version.

20. A non-transitory computer readable medium having one or more computer program instructions configured to perform a method, the method comprising:

receiving a query of a repository, the repository being configured to store a file identifying a dependency between an application and an update, the query being configured to request retrieval and implementation of the update with the application, the dependency being associated with a program object model file;

parsing the query to identify the update and a version of the update configured to modify the application;

generating automatically a ranking associated with the update and the version using output from a machine-learning module configured to be trained against data received from a data source, the data being associated with a community, and other data retrieved from another data source, the other data being associated with analyzing an issue associated with the update or the version;

providing a response to the query including displaying the ranking, the data, and the other data;

searching automatically for code changes performed to implement data representing a project based on evaluation of prior pull requests;

receiving another query requesting at least one of the update and the version;

retrieving the at least one of the update and the version; and

implementing with the application the at least one of the update and the version, the at least one of the update and the version being retrieved and implemented in response to the another query.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2020
From: SHAASTRY, SANTOSH; GURUSIDDAPPA, NARENDRA PRABHU; SRINIVASAN, GUNAALAN; RENAVIKAR, NEEL MILIND
To: KHOROS, LLC
Reel/Frame 054788/0713 →
Continuity (1)
Related Publication 20220156053A1 · May 19, 2022
Cited By (4)
US 12,386,729 US 12,423,073 US 12,487,819 US 12,578,961