Code Execution Flow Analysis Using Proximity Eligibility
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Code transformation systems face challenges in efficiently estimating execution flow relationships between code instructions, particularly with save-to-return and function call code instructions, leading to complex and inefficient code execution flow analysis.
Innovation Solution
A computer-implemented method identifies save-to-return, function call, and comparison code instructions, determines a predefined proximity range, and creates execution flow relationships between function call and exceptional code instructions based on proximity eligibility, modifying the code execution flow to simplify analysis and optimization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If code transformation systems estimate execution flow relationships between all code instructions including save-to-return and function call instructions, then the execution flow analysis is comprehensive, but the complexity of code execution flow analysis increases significantly
Solution Approach 1:
The patent segments the code execution flow analysis into two distinct parts: (1) analysis of normal code instructions using traditional data flow analysis, and (2) analysis of save-to-return and function call instructions using the new proximity-based execution flow relationships. This segmentation allows the system to handle complex instructions separately, reducing overall analysis complexity while maintaining completeness.
Solution Approach 2:
The patent extracts save-to-return and function call instructions from the general code instruction set and handles them through a specialized mechanism. By identifying these instructions separately and creating specific execution flow relationships for them based on proximity criteria, the system avoids the complexity of analyzing all instructions uniformly while preserving comprehensive analysis.
2Measurement precision
If code transformation systems create execution flow relationships for save-to-return code scenarios, then the accuracy of execution flow estimation is improved, but the compilation time increases
Solution Approach 1:
The patent applies local quality by creating execution flow relationships selectively based on proximity criteria rather than universally. The system determines whether save-to-return and comparison instructions are within a predefined proximity range, and only creates execution flow relationships when this criterion is met. This localized approach improves accuracy for relevant cases while avoiding unnecessary analysis overhead elsewhere.
Solution Approach 2:
The patent changes the parameter of execution flow relationship creation from a universal condition to a conditional one based on proximity parameters. By introducing proximity-based eligibility indicators and predefined proximity ranges, the system dynamically adjusts when to create execution flow relationships, balancing accuracy improvement with compilation time constraints.
3Adaptability or versatility
If code transformation systems analyze all code instructions for execution flow relationships, then the optimization coverage is comprehensive, but the productivity of code transformation is reduced
Solution Approach 1:
The patent performs preliminary action by identifying save-to-return and comparison instructions and determining their proximity relationships before creating execution flow relationships. The system calculates proximity eligibility indicators in advance, which allows for more efficient subsequent processing and avoids redundant analysis during the main optimization pass, thereby improving overall productivity.
Data Source
AI summary
A computer-implemented method includes, in a code transformation system, identifying save-to-return code instructions, function call code instructions, comparison code instructions, and exceptional code instructions. The function call code instructions are associated with the save-to-return code instructions. The comparison code instructions are associated with the save-to-return code instructions. The exceptional code instructions are associated with the comparison code instructions. A predefined proximity range based on a predefined proximity value as well as a proximity eligibility indicator are determined. The proximity eligibility indicator denotes whether the save-to-return code instructions and the comparison code instructions are within the predefined proximity range. Responsive to the proximity eligibility indicator denoting the save-to-return code instructions and the comparison code instructions are within the predefined proximity range, one or more execution flow relationships between the function call code instructions and the exceptional code instructions are created. A corresponding computer program product and computer system are also disclosed.


