Code Execution Flow Analysis Using Proximity Eligibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveexecution flow analysis completenessVSAvoidcode execution flow analysis complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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

Engineering Contradiction:
Improveexecution flow estimation accuracyVSAvoidcompilation time
Core Design Contradiction:
Measurement precisionVSLoss of time

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improveoptimization coverageVSAvoidcode transformation efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10325844B2Modifying execution flow in save-to-return code scenarios
Publication Date: 2019.06.18 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10325844B2 patent drawing
  • US10325844B2 patent drawing
  • US10325844B2 patent drawing

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.