Execution Path Estimation from Operator Counts Without Instrumentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern computer application logic is complex and large, making it difficult to understand which parts are executed during runtime without degrading performance by introducing instrumentation for profiling.
Innovation Solution
An improved computing tool estimates execution paths by analyzing application source code and execution logs to generate control flow graphs, identify operators with execution counts, and create expressions to determine possible execution paths without additional instrumentation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Difficulty of detecting and measuring
If instrumentation is inserted into computer program code to collect execution information, then execution path detection capability is improved, but program execution performance deteriorates
Solution Approach 1:
The patent uses existing operator execution counts as an intermediary to infer execution paths indirectly. Instead of directly instrumenting the program to track paths, the system uses already-collected operator execution statistics from systems like z/OS SMF to deduce which execution paths were taken, thereby avoiding direct instrumentation overhead while still achieving path detection capability
Solution Approach 2:
The patent replaces the mechanical approach of inserting instrumentation code into the program flow with a computational analysis approach. By using control flow graphs and mathematical analysis of operator execution counts, the system substitutes direct measurement with indirect inference, eliminating the performance penalty of runtime instrumentation while maintaining path detection accuracy
2Measurement precision
If control flow graph analysis with operator count expressions is performed, then execution path estimation accuracy is improved, but computational complexity increases
Solution Approach 1:
The patent segments the complex analysis task into distinct components: generating control flow graphs from source code, extracting operator execution counts from logs, creating operator count expressions for each path, and solving the system of equations. This segmentation allows each component to be processed independently and efficiently, reducing overall computational complexity while maintaining accuracy
Solution Approach 2:
The patent performs preliminary actions by pre-generating control flow graphs from source code and pre-extracting operator execution counts from logs before path analysis. These preliminary preparations organize the data in advance, making the subsequent path estimation computation more efficient and manageable, thereby reducing the complexity of the main analysis task
Data Source
AI summary
Mechanisms are provided for identifying execution paths in computer application logic. A control flow graph is generated for the computer application logic based on source code and an execution log. Paths of the control flow graph are identified that have operators matching operators having execution counts in the execution log. An operator list for each path is generated specifying operators in the path. An operator count expression is generated for each operator in the operator list for each path. For each path, a relationship is generated between the path's operator count expression and actual execution count information for operators in the path's operator list. An execution possibility value is estimated for each path based on the relationships for each path, and a second set of paths having execution possibility values indicating they are possible execution paths of the computer application logic is output.


