Mainframe Call Graph Segmentation for Business Code Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In mainframe applications, updating business rules often results in obsolete documents, making it difficult to understand where and how each business rule is implemented, as only the source code is updated, leading to complexity in maintaining and modifying business processes during modernization efforts.

Innovation Solution

A computer-implemented method that creates a call-graph of the application, divides it into sub-call-graphs at merge points, and uses dataflow analysis to detect code regions related to specific processes based on variable names, allowing for the identification of sub-call-graphs corresponding to each business process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If only the source code is updated when applying a change to a business rule, then cost is reduced, but the documents become obsolete and the source code becomes harder to understand

Engineering Contradiction:
Improvecost reductionVSAvoiddocument obsolescence
Core Design Contradiction:
Ease of manufactureVSLoss of information

Solution Approach 1:

The patent introduces an intermediary system (call graph analysis tool) that automatically connects source code with business process documentation. This intermediary analyzes call graphs, detects merge points, and identifies code regions related to specific business processes, thereby maintaining document relevance without requiring manual updates and avoiding the cost of dual maintenance while preventing information loss.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If only the source code is updated when applying a change to a business rule, then cost is reduced, but the source code becomes harder to understand where and how each business rule is implemented

Engineering Contradiction:
Improvecost reductionVSAvoidsource code understandability
Core Design Contradiction:
Ease of manufactureVSEase of operation

Solution Approach 1:

The patent introduces an intermediary system (call graph analysis tool) that automatically connects source code with business process documentation. This intermediary analyzes call graphs, detects merge points, and identifies code regions related to specific business processes, thereby maintaining document relevance without requiring manual updates and avoiding the cost of dual maintenance while preventing information loss.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If the source code is continuously updated with new functions and business rules, then functionality is improved, but the business process in the source code becomes harder to track

Engineering Contradiction:
Improvefunctionality enhancementVSAvoidsource code complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the monolithic source code into distinct code regions based on business processes. By analyzing call graphs and identifying merge points, the system segments code into manageable units associated with specific business rules, making it easier to track and maintain functionality as the system evolves.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary system (call graph analysis tool) that automatically connects source code with business process documentation. This intermediary analyzes call graphs, detects merge points, and identifies code regions related to specific business processes, thereby maintaining document relevance without requiring manual updates and avoiding the cost of dual maintenance while preventing information loss.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11847445B2Detecting business code areas in a mainframe application
Publication Date: 2023.12.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11847445B2 patent drawing
  • US11847445B2 patent drawing
  • US11847445B2 patent drawing

AI summary

A computer-implemented method for detecting code regions related to specific processes in an application is provided including obtaining a call-graph of an application, each node of the call-graph representing a program in the application and each edge of the call-graph representing a call between programs, detecting merge points in the call-graph where paths from different entry points are merged, dividing the call-graph into sub-call-graphs at the merge points to create a macro-call-graph, each node of the macro-call-graph representing each of the sub-call-graphs, detecting code regions related to specific processes in each program in the application based on variable names corresponding to the specific processes, setting an initial state to each entry point of the sub-call-graphs, and identifying sub-call-graphs related to each specific process by using dataflow analysis with the initial states and the code regions based on entry states of the sub-call-graphs.