Mainframe Call Graph Segmentation for Business Code Detection
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
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.
Data Source
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.


