Program Flow Route Constructor for Execution Time Estimation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing structural analysis techniques are not well suited for timing analysis of executable programs, making it difficult to determine execution time between arbitrary points in a program effectively.

Innovation Solution

A method that involves receiving a higher-level structure representing control flow, probing to extract a substructure representing a route from start to end instructions, and estimating execution time based on this substructure to make modifications affecting the execution time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If existing structural analysis techniques are used to analyze control flow, then the control flow structure can be identified, but execution time between arbitrary points cannot be determined

Engineering Contradiction:
Improveexecution time measurementVSAvoidapplicability to timing analysis
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The higher-level structure is segmented into multiple levels of parent nodes, where each parent node represents internal structure comprising a group of child nodes. This hierarchical segmentation allows the system to probe specific levels to extract substructures representing routes between arbitrary points, enabling precise execution time measurement while maintaining the overall structural organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of analysis by adding temporal characteristics to the existing control flow structure. By probing the hierarchical structure to extract substructures and estimating execution times, the system transforms a purely structural representation into a temporal-structural representation, enabling timing analysis without losing the benefits of higher-level abstraction.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Measurement precision

If the higher-level structure is fully extracted to determine execution time, then precise timing can be obtained, but the computational complexity increases

Engineering Contradiction:
Improveexecution time determinationVSAvoidanalysis complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

Instead of fully extracting and analyzing the entire higher-level structure, the patent applies partial action by selectively probing the structure to extract only the necessary substructure representing the route between start and end instructions. This partial extraction reduces computational complexity while still providing the precise execution time determination needed for the specific analysis goal.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8843902B2Program flow route constructor
Publication Date: 2014.09.23 XMOS
  • US8843902B2 patent drawing
  • US8843902B2 patent drawing
  • US8843902B2 patent drawing

AI summary

A method and corresponding tool for estimating program execution time. A higher-level structure is received as an input, representing control flow through an executable program. The higher-level structure comprises one or more levels of parent nodes, each parent node representing internal structure comprising a group of one or more child nodes and one or more associated edges between nodes. The levels of the higher-level structure are probed to extract a substructure representing a route through the program from a start instruction to an end instruction, by selectively extracting nodes of different levels of parent to represent different regions along the route in dependence on a location of the start and end instructions relative to the levels of parent nodes. An execution time for the route through the program is estimated based on the extracted substructure, and a modification affecting the execution time is made in dependence on the estimation.