IP Library Granted Patent US 11,977,872
Granted Patent B2
US 11,977,872 · App. 17/165,207 · Granted May 7, 2024

Method and system for code maintenance

Inventors: Salwa Husam Alamir (Bournemouth, GB); Sameena Shah (White Plains, NY); Andrea Stefanucci (Hoboken, NJ); Maria Manuela Veloso (Pittsburgh, PA)
Assignee: JPMORGAN CHASE BANK, N.A.
G06F8/65G06F40/40G06N20/00
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,977,872
App. No.
17/165,207
Filed
Feb 2, 2021
Granted
May 7, 2024
Kind
B2
Art Unit
2193
USPC
717/168
Abstract

A method for updating code in a shared codebase is provided. The method includes: using artificial intelligence techniques to generate a network graph that indicates a set of dependencies between a plurality of code modules included in the shared codebase; receiving information that relates to updating a first code module from among the plurality of code modules; and determining, based on the network graph, a subset of the plurality of code modules to be impacted when the first code module is updated. The method may further include scanning release notes associated with the shared codebase, and using natural language processing techniques to determine functions that will be impacted by the update.

Claims (40)

1. A method for updating code in a shared codebase, the method being implemented by at least one processor, the method comprising:

generating, by the at least one processor, a network graph that indicates a set of dependencies between a plurality of code modules included in the shared codebase;

receiving, by the at least one processor, information that relates to updating a first code module from among the plurality of code modules;

determining, by the at least one processor based on the network graph, a subset of the plurality of code modules to be impacted when the first code module is updated;

scanning, by the at least one processor, a plurality of release notes associated with the shared codebase; and

determining, by the at least one processor based on a result of the scanning, at least one function to be changed within the determined subset of the plurality of code modules by using a natural language processing (NLP) technique,

wherein the determined subset of the plurality of code modules includes at least one library module that is identified based on a received user input and that relates to at least one other code module within the determined subset of the plurality of code modules, and

wherein the at least one library module is present in the determined subset of the plurality of code modules at a time when the at least one module is identified.

2. The method of claim 1 , further comprising automatically updating each of the first code module and the determined subset of the plurality of code modules.

3. The method of claim 1 , further comprising:

generating a message that includes information relating to a result of the determining of the subset of the plurality of code modules; and

transmitting the generated message to a user.

4. The method of claim 3 , wherein the message includes an indication that human intervention is required for updating at least one portion of the determined subset of the plurality of code modules.

5. The method of claim 1 , wherein the information that relates to updating the first code module includes information that relates to a language version of the first code module.

6. The method of claim 1 , wherein the generating of the network graph comprises using an artificial intelligence technique to determine the set of dependencies.

7. The method of claim 1 , further comprising:

identifying at least one additional codebase to be impacted when the first code module is updated; and

generating a notification message that includes a recommendation to update the identified at least one additional codebase.

8. A computing apparatus for updating code in a shared codebase, the computing apparatus comprising:

a processor;

a memory; and

a communication interface coupled to each of the processor and the memory,

wherein the processor is configured to:

generate a network graph that indicates a set of dependencies between a plurality of code modules included in the shared codebase;

receive, via the communication interface, information that relates to updating a first code module from among the plurality of code modules;

determine, based on the network graph, a subset of the plurality of code modules to be impacted when the first code module is updated;

scan a plurality of release notes associated with the shared codebase; and

determine, based on a result of the scan, at least one function to be changed within the determined subset of the plurality of code modules by using a natural language processing (NLP) technique,

wherein the determined subset of the plurality of code modules includes at least one library module that is identified based on a received user input and that relates to at least one other code module within the determined subset of the plurality of code modules, and

wherein the at least one library module is present in the determined subset of the plurality of code modules at a time when the at least one module is identified.

9. The computing apparatus of claim 8 , wherein the processor is further configured to automatically update each of the first code module and the determined subset of the plurality of code modules.

10. The computing apparatus of claim 8 , wherein the processor is further configured to:

generate a message that includes information relating to a result of the determination of the subset of the plurality of code modules; and

transmit the generated message to a user via the communication interface.

11. The computing apparatus of claim 10 , wherein the message includes an indication that human intervention is required for updating at least one portion of the determined subset of the plurality of code modules.

12. The computing apparatus of claim 8 , wherein the information that relates to updating the first code module includes information that relates to a language version of the first code module.

13. The computing apparatus of claim 8 , wherein the processor is further configured to generate the network graph by using an artificial intelligence technique to determine the set of dependencies.

14. The computing apparatus of claim 8 , wherein the processor is further configured to:

identify at least one additional codebase to be impacted when the first code module is updated; and

generate a notification message that includes a recommendation to update the identified at least one additional codebase.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2021
From: ALAMIR, SALWA HUSAM; SHAH, SAMEENA; STEFANUCCI, ANDREA; VELOSO, MARIA MANUELA
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 055534/0893 →
Continuity (1)
Related Publication 20220244938A1 · Aug 4, 2022
Cited By (1)
US 12,487,811