Microservice Architecture Reconstruction from Bytecode Graphs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Microservice systems lack a holistic, centralized view due to their distributed nature, making traditional static code analysis inadequate for detecting issues arising from interactions between distinct microservices, and manual SAR is time-consuming and error-prone, especially when source code is not available.

Innovation Solution

A method and system utilizing GraalVM Native Image to analyze bytecode, extracting service and domain views through Graal IR, generating a service dependency graph and context map, and visualizing these views to provide a comprehensive understanding of the system architecture.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional static code analysis is used to analyze microservice systems, then source code can be examined, but it cannot detect issues arising from interactions between distinct microservices and lacks a holistic view

Engineering Contradiction:
Improvedetection reliabilityVSAvoidsystem interaction complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the microservice system into distinct services with clear boundaries, analyzing each service independently while tracking their interactions through the bytecode. This allows the system to handle complexity by processing one service at a time while maintaining an overall system view through the graph-based intermediate representation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a graph-based intermediate representation as an intermediary layer between the bytecode and the final architectural view. This intermediate representation models control-flow and data-flow dependencies, serving as a mediator that translates low-level bytecode into high-level architectural insights, enabling detection of interaction issues without requiring direct examination of all service interactions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If manual Software Architecture Reconstruction is performed, then a system-centered view can be obtained, but it is time-consuming and error-prone

Engineering Contradiction:
Improvesystem view completenessVSAvoidanalysis time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent enables the system to perform its own architecture reconstruction automatically by analyzing its own bytecode. The microservice system analyzes itself by extracting class information, method signatures, and dependency relationships from the bytecode, eliminating the need for manual intervention and reducing both time and errors associated with manual SAR.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical analysis with automated computational analysis. Instead of manually tracing control flow and data flow through the system, the patent uses computational algorithms to parse bytecode, extract relationships, and generate the graph-based intermediate representation, significantly reducing analysis time while maintaining completeness.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Measurement precision

If source code is required for analysis, then detailed code examination is possible, but analysis cannot be performed when source code is not available

Engineering Contradiction:
Improveanalysis precisionVSAvoidanalysis adaptability
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent uses bytecode as a copy or representation of the source code's structural information. Bytecode contains sufficient metadata about class hierarchies, method signatures, and dependency relationships to perform architectural analysis without requiring the actual source code files. This copying approach maintains analysis precision while enabling adaptability to systems where source code is unavailable.

Inventive Principle:
Principle #26Copying

4Adaptability or versatility

If distributed microservice architecture is used, then scalability and independence are improved, but a holistic system view becomes difficult to obtain

Engineering Contradiction:
Improvesystem scalabilityVSAvoidsystem overview information
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The patent merges the analysis of individual microservices with the tracking of their interactions into a unified graph-based intermediate representation. By combining service-level information with inter-service dependency relationships in a single graphical model, the patent enables obtaining a holistic system view while preserving the scalability and independence benefits of the distributed architecture.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20250291564A1Software architecture reconstruction methods for microservice systems
Publication Date: 2025.09.18 BAYLOR UNIVERSITY
  • US20250291564A1 patent drawing
  • US20250291564A1 patent drawing
  • US20250291564A1 patent drawing

AI summary

Methods and systems for analyzing architectures of microservice systems are described. An example method includes generating, based on an analysis of a bytecode of a microservice system, a graph-based intermediate representation that models control-flow and data-flow dependencies between a plurality of microservices of the microservice system. The method then includes parsing the graph-based intermediate representation to extract one or more components of the microservice system, and generating, based on the one or more components and a list of attributes for each of the plurality of microservices, a service dependency graph that represents a service view of the microservice system and a context map that represents a domain view of the microservice system. The method additionally includes visualizing, based on the service view and the domain view, an architecture of the microservice system. An example system includes one or more processors that are configured to implement the above-described method.