LLM-Based Program and Data Flow Graphs Across Languages

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Complex software systems comprising multiple programming languages pose challenges in understanding program and data flows, requiring resource-intensive language-specific expertise for effective maintenance and modernization.

Innovation Solution

Employing Generative AI Large Language Models (LLMs) to analyze multi-language software applications by converting code into a unified graph format, utilizing programming-language-specific prompts to extract functional components and visualize dependencies, eliminating the need for custom static analysis tools and manual expertise.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional language-specific expertise is used to analyze multi-language software systems, then analysis accuracy is maintained, but resource consumption and time requirements increase significantly

Engineering Contradiction:
Improveanalysis accuracyVSAvoidtime consumption
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the multi-language software analysis problem by creating language-specific prompt templates for different programming languages (Java, Python, JavaScript, etc.). Each prompt is optimized for its target language while the unified graph format standardizes the output structure, enabling parallel processing of multiple language components without requiring sequential expert analysis for each language.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a unified graph format as an intermediary representation layer between the diverse programming languages and the analysis system. This intermediate format standardizes code structures from different languages into a common representation, allowing the LLM to process multiple languages efficiently without needing separate analysis pipelines for each language.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If manual cross-language expertise is employed to understand software architecture, then comprehensive understanding is achieved, but dependency on specialized human resources increases

Engineering Contradiction:
Improvecomprehensive understandingVSAvoidhuman expertise dependency
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal analysis system using LLMs that can handle multiple programming languages through a single unified approach. The system uses language-specific prompts combined with a universal graph output format, allowing one system to perform what previously required multiple language-specific expert tools and personnel, thereby reducing dependency on specialized human resources.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system enables software analysis to be self-servicing by using LLMs to automatically process and understand code in multiple languages without requiring human experts for each language. The automated generation of unified graphs from diverse codebases allows the system to independently comprehend software architecture, reducing the need for manual cross-language expertise.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If custom static analysis tools are developed for each programming language, then language-specific analysis precision is improved, but system complexity and development cost increase

Engineering Contradiction:
Improvelanguage-specific analysis precisionVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent merges the functionality of multiple language-specific static analysis tools into a single LLM-based system. By combining language-specific prompt templates with a unified graph output format, the system achieves the precision of specialized tools while eliminating the complexity of maintaining separate tools for each programming language.

Inventive Principle:
Principle #5Merging (Combining)

4Measurement precision

If diverse programming languages are supported with specialized analysis methods, then analysis accuracy is maintained, but processing efficiency decreases

Engineering Contradiction:
Improveanalysis accuracyVSAvoidprocessing efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent extracts the language-specific analysis logic into separate prompt templates while maintaining a common processing pipeline and output format. This extraction allows the system to handle multiple languages efficiently by reusing the same underlying LLM infrastructure and graph processing logic, improving productivity while maintaining accuracy through specialized prompts for each language.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12450799B1Multi-language program and data flow analysis using LLM
Publication Date: 2025.10.21 MORGAN STANLEY SERVICES GROUP INC
  • US12450799B1 patent drawing
  • US12450799B1 patent drawing
  • US12450799B1 patent drawing

AI summary

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.