Program Structure Analyzer for Block-Level Dependency Tracing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing program analysis technologies struggle to efficiently grasp the dependence between input and output of functional units in complex programs, making it difficult to understand the impact of changes on program structure.

Innovation Solution

A program structure analyzer that identifies the source of actions through correspondences stored in memory, tracing dependencies between input and output ports to generate a dependence chart, enabling the analysis of dependencies between blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If requirement specifications are used to define actions of blocks, then the program can be described in detail, but it becomes difficult to grasp dependence between input and output of each block as a whole

Engineering Contradiction:
Improvedetail of program descriptionVSAvoidease of grasping dependence
Core Design Contradiction:
Manufacturing precisionVSEase of operation

Solution Approach 1:

The patent segments the complex program structure into blocks with clearly defined input ports and output ports. Each block is analyzed independently to identify its input-output dependencies, which are then aggregated to form an overall dependence chart. This segmentation allows detailed requirement specifications to be maintained while providing a high-level view of dependencies between blocks.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If step-by-step execution is used to obtain change history and field information, then cause-effect relations can be extracted, but the analysis process becomes time-consuming and complex

Engineering Contradiction:
Improveprecision of cause-effect extractionVSAvoidanalysis time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-defining the block structure, input ports, output ports, and actions before execution. The system prepares the framework for dependence analysis in advance, so that during execution, it only needs to collect data according to the pre-established structure rather than performing complex analysis step-by-step. This reduces analysis time while maintaining precision.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If detailed tracking of field changes is performed, then cause-effect relations are accurately captured, but the complexity of the analysis apparatus increases

Engineering Contradiction:
Improveaccuracy of dependence trackingVSAvoidcomplexity of analysis apparatus
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts only the essential information needed for dependence analysis - specifically, the relationships between input ports, output ports, and actions of blocks. Rather than tracking all field changes in detail, it focuses on extracting the critical input-output dependencies at the block level. This extraction approach maintains accuracy while reducing apparatus complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12423095B2Program structure analyzer and method for analyzing program structure
Publication Date: 2025.09.23 TOYOTA JIDOSHA KK
  • US12423095B2 patent drawing
  • US12423095B2 patent drawing
  • US12423095B2 patent drawing

AI summary

A program structure analyzer configured to analyze the structure of a program for causing a computer to execute a predetermined process identifies a source of an action corresponding to a starting pin associated with a reference port selected from one or more output ports set for a target block; repeats identification of a source with the identified source being set as the starting pin, until no output pin corresponding to an action executable by the target block is identified as a source; identifies an input port corresponding to an input pin receiving input from a source that is not an output pin corresponding to an action executable by the target block, as a parent port; and outputs, for each of the output ports set for the target block, dependence data indicating the parent port on which the output port depends.