Structural Analyser One-In One-Out Control Flow Patterns

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

VSEngineering 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

Engineering Contradiction:
Improvestructural analysis coverageVSAvoidtiming analysis precision
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

2Measurement precision

If 'one-in, one-out' structure node patterns are used, then timing analysis precision is improved, but structural analysis complexity increases

Engineering Contradiction:
Improvetiming analysis precisionVSAvoidstructural analysis complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improveanalysis completenessVSAvoidexecution time estimation accuracy
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8881117B2Structural analyser
Publication Date: 2014.11.04 XMOS
  • US8881117B2 patent drawing
  • US8881117B2 patent drawing
  • US8881117B2 patent drawing

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.