Structural Analyser One-In One-Out Control Flow Patterns
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing structural analysis techniques are not well suited for timing analysis of executable programs, as they often result in indeterminate or ambiguous execution times due to the use of higher-level structure node patterns with multiple entry and exit points.
Innovation Solution
A method is introduced that generates a higher-level control flow structure using a special set of 'one-in, one-out' structure node patterns, allowing for deterministic timing estimates and modifications to improve program execution efficiency, including the use of function nodes, conditional-type, loop-type, and sequence-type patterns, and node splitting for irreducible regions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional higher-level structure node patterns with multiple entry and exit points are used, then structural analysis coverage is improved, but timing analysis precision deteriorates due to indeterminate execution times
Solution Approach 1:
The patent segments the control flow graph into multiple 'one-in, one-out' structure node patterns instead of using fewer multi-entry multi-exit nodes. This segmentation allows each node to have deterministic execution time while collectively covering the same structural patterns, thus resolving the contradiction between coverage and timing precision.
Solution Approach 2:
The patent applies different qualities to different parts of the control flow analysis: local deterministic timing properties are assigned to each 'one-in, one-out' structure node, while the global structural coverage is maintained through the collective representation of multiple such nodes. This local quality approach enables both precise timing measurement and comprehensive structural analysis.
2Measurement precision
If 'one-in, one-out' structure node patterns are used, then timing analysis precision is improved, but structural analysis complexity increases
Solution Approach 1:
The control flow graph is segmented into multiple simple 'one-in, one-out' structure nodes rather than using fewer complex multi-entry multi-exit nodes. Although the number of nodes increases, each node's simplicity enables deterministic timing analysis, and the segmentation makes the overall structural analysis more systematic and manageable.
Solution Approach 2:
The patent dynamically selects and applies different 'one-in, one-out' structure node patterns based on the local control flow characteristics being analyzed. This dynamic approach allows the system to adapt to different structural patterns (sequences, conditionals, loops) using a unified simple node type, thereby managing complexity through flexibility rather than through complex node definitions.
3Reliability
If comprehensive structure node patterns are used to cover all control flow structures, then analysis completeness is improved, but execution time estimation accuracy deteriorates
Solution Approach 1:
The patent segments comprehensive control flow structures into multiple atomic 'one-in, one-out' structure node patterns. Each atomic pattern can be precisely timed, and the complete execution time is obtained by summing the times of individual segments along the execution path, thereby maintaining both completeness and accuracy.
Solution Approach 2:
The patent performs preliminary decomposition of control flow structures into 'one-in, one-out' patterns before timing analysis. This preliminary action establishes a foundation for accurate timing by ensuring that each structural element is represented by a node with deterministic execution time properties before the actual timing estimation is performed.
Data Source
AI summary
A method and corresponding tool, the method comprising: generating a lower-level control flow structure representing a portion of an executable program, the lower-level control flow structure comprising a plurality of lower-level nodes representing operations occurring within the program and a plurality of directional edges representing program flow between nodes; generating a higher-level control flow structure by matching a plurality of the lower-level nodes and edges to higher-level structure nodes representing internal structure, each higher-level structure node representing a group of one or more lower-level nodes and one or more associated edges; and using the higher-level control flow structure to estimate a timing property relating to execution of the program on a processor. The higher-level structure nodes are selected exclusively from a predetermined set of structure node patterns, each pattern in the set having at most one entry point and at most one exit point.


