IP Library Granted Patent US 12,450,799
Granted Patent B1
US 12,450,799 · App. 19/080,275 · Granted Oct 21, 2025

Multi-language program and data flow analysis using LLM

Inventors: Kallol Duttagupta (Basking Ridge, NJ); Kumar Vadaparty (Belle Mead, NJ); Thomas Mathew (Parsippany, NJ); Vivek S. Agrawal (Princeton, NJ)
Assignee: Morgan Stanley Services Group Inc.
G06T11/206G06F8/433
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 12,450,799
App. No.
19/080,275
Granted
Oct 21, 2025
Kind
B1
Abstract

A computer-implemented system analyzes program and data flows in a software system comprising code written in multiple programming languages using a generative large language model (LLM) directed by programming-language-specific prompts. The LLM identifies functional components within the code, generating labeled graph nodes that include a node type, a node name, and dependency information. A graph construction computer system processes the labeled graph nodes to generate a directed graph, where nodes represent functional components and directed edges represent dependencies. The system stores the graph in a database and provides a web-based interface for visualization, allowing users to explore, query, and analyze program and data flows across the software system. The system enables automated, language-agnostic dependency mapping, facilitating software analysis, debugging, and modernization.

Claims (37)

1. A computer-implemented method for analyzing program and data flows in a software system of an enterprise, wherein the software system comprises code written in multiple programming languages, the method comprising:

receiving, by a backend computer system, source code from a code repository, wherein the source code is for the software system and includes code written in at least two different programming languages;

selecting, by a user via a front-end interface, programming-language-specific prompts from a prompt library, wherein the prompt library comprises a plurality of predefined prompts tailored to different programming languages;

processing, by a generative large language model (LLM) executed on the backend computer system, the received source code using the selected prompts to generate a plurality of labeled graph nodes, wherein each labeled graph node represents a functional component of the software system and comprises:

a node type;

a node name; and

for each functional component of the software system dependent on one or more other labeled graph nodes, dependency information for the node corresponding to the functional component, wherein the dependency information identifies the one or more other labeled graph nodes on which the functional component depends;

generating, by a graph construction computer system, a directed graph based on the plurality of labeled graph nodes, wherein:

each labeled graph node is represented as a node in the directed graph, and

directed edges between the nodes are established based on the dependency information; and

providing, via the front-end interface, a visual representation of the directed graph to the user, thereby enabling analysis of program and data flows across the software system independent of the programming languages in which the code of the software system is written.

2. The method of claim 1 , wherein each functional component of the software system comprises an identifiable unit of the source code for the software system that performs a distinct function within the software system, and wherein each functional component operates within a defined scope and adheres to syntactic and semantic rules of its respective programming language.

3. The method of claim 2 , wherein at least one functional component is a functional component selected from the group consisting of a UI, a method, a program in a specific programming language, a web service, a stored procedure, and a table.

4. The method of claim 3 , wherein the programming-language-specific prompts comprise a first set of Java specific prompts and a second set of SQL specific prompts.

5. The method of claim 4 , wherein the programming-language-specific prompts comprise a third set of programming-language-specific prompts, wherein the programming language for the third set of programming-language-specific prompts comprises a programming language selected from the group consisting of Angular, COBOL, and Assembly.

6. The method of claim 4 , wherein the programming-language-specific prompts direct the LLM to generate the plurality of labeled graph nodes as JSON text in a JSON text file.

7. The method of claim 1 , wherein the LLM comprises a transformer.

8. The method of claim 1 , further comprising training the LLM, wherein training the LLM comprising tailoring the LLM to a domain of the enterprise.

9. The method of claim 8 , wherein the enterprise comprises a financial services firm and the domain comprises financial products.

10. A computer system for analyzing program and data flows in a software system of an enterprise, wherein the software system comprises code written in multiple programming languages, the computer system comprising:

a code repository storing source code for the software system and including code written in at least two different programming languages;

a prompt library storing a plurality of predefined prompts tailored to different programming languages;

a backend computer system in communication with the code repository and the prompt library, wherein the backend computer system comprises a generative LLM, wherein the LLM is directed by user-selected programming-language-specific prompts from the prompt library to generate a plurality of labeled graph nodes, wherein each labeled graph node represents a functional component of the software system and comprises:

a node type;

a node name; and

for each functional component of the software system dependent on one or more other labeled graph nodes, dependency information for the node corresponding to the functional component, wherein the dependency information identifies the one or more other labeled graph nodes on which the functional component depends; and

a graph construction computer system in communication with the LLM, wherein the graph construction computer system is programmed to:

generate a directed graph based on the plurality of labeled graph nodes, wherein:

each labeled graph node is represented as a node in the directed graph; and

directed edges between the nodes are established based on the dependency information; and

provide a visual representation of the directed graph to a user, thereby enabling analysis of program and data flows across the software system independent of the programming languages in which the code of the software system is written.

11. The computer system of claim 10 , wherein each functional component of the software system comprises an identifiable unit of the source code for the software system that performs a distinct function within the software system, and wherein each functional component operates within a defined scope and adheres to syntactic and semantic rules of its respective programming language.

12. The computer system of claim 10 , wherein at least one functional component is a functional component selected from the group consisting of a UI, a method, a program in a specific programming language, a web service, a stored procedure, and a table.

13. The computer system of claim 12 , wherein the programming-language-specific prompts comprise a first set of Java specific prompts and a second set of SQL specific prompts.

14. The computer system of claim 13 , wherein the programming-language-specific prompts comprise a third set of programming-language-specific prompts, wherein the programming language for the third set of programming-language-specific prompts comprises a programming language selected from the group consisting of Angular, COBOL, and Assembly.

15. The computer system of claim 13 , wherein the programming-language-specific prompts direct the LLM of the backend computer system to generate the plurality of labeled graph nodes as JSON text in a JSON text file.

16. The computer system of claim 10 , wherein the LLM comprises a transformer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2025
From: DUTTAGUPTA, KALLOL; VADAPARTY, KUMAR; MATHEW, THOMAS; AGRAWAL, VIVEK S.
To: MORGAN STANLEY SERVICES GROUP INC.
Reel/Frame 071044/0925 →
References Cited (13)
US 11321066B2 · Yu et al. · 2022 [cited by applicant]
US 11698829B2 · Aradhya et al. · 2023 [cited by applicant]
US 12360791B1 · Vadaparty et al. · 2025 [cited by applicant]
US 20220164170A1 · Benton et al. · 2022 [cited by applicant]
US 20230305822A1 · Ferrucci et al. · 2023 [cited by applicant]
US 20240045662A1 · Jain et al. · 2024 [cited by applicant]
US 20240256235A1 · Potti · 2024 [cited by examiner]
US 20240302600A1 · Huang et al. · 2024 [cited by applicant]
US 20240311087A1 · Bathula · 2024 [cited by applicant]
US 20250004760A1 · Maciel Dos Santos et al. · 2025 [cited by applicant]
US 20250004915A1 · Rudenko et al. · 2025 [cited by applicant]
US 20250013436A1 · Mohanty · 2025 [cited by examiner]
US 20250063101A1 · Cegielski-Johnson et al. · 2025 [cited by applicant]
Cited By (1)
US 12,710,934