Software Analysis Apparatus Visualizing Dependency Weights

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional software analysis techniques struggle to enable developers to grasp the entire software flow, particularly when execution histories diverge from the usual path, and fail to effectively analyze multiple execution histories, leading to incomplete understanding of software structure and processing flow.

Innovation Solution

A software analysis apparatus that acquires structural information and multiple execution histories, analyzes weights of structural elements and dependency relationships, designates key structural elements, and calculates display information to visualize the software structure and dependencies, allowing for a comprehensive understanding of the software.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If only one execution history is displayed for structural information, then the display is simple and clear, but the developer can grasp only a part of the software and cannot understand the entire software flow

Engineering Contradiction:
Improvesoftware flow understandingVSAvoiddisplay complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent segments the display by selecting a specific structural element as a reference point and dividing the software analysis into: (1) the reference structural element itself, (2) structural elements with dependency relationships to the reference, and (3) execution history information associated with these elements. This segmentation allows comprehensive software understanding while maintaining display organization and avoiding overwhelming complexity.

Inventive Principle:
Principle #1Segmentation

2Loss of information

If multiple execution histories are analyzed to improve software understanding, then comprehensive software flow can be grasped, but the analysis complexity and processing time increase

Engineering Contradiction:
Improvesoftware structure understandingVSAvoidanalysis complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent extracts and highlights only the execution history information that is directly associated with structural elements having dependency relationships to the reference structural element. By extracting only the relevant execution histories rather than displaying all possible execution histories, the system achieves comprehensive software understanding while controlling analysis complexity through focused information extraction.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of operation

If dependency relationships are highlighted to facilitate understanding, then the impact range becomes clear, but the overall software flow and different execution paths become difficult to grasp

Engineering Contradiction:
Improveimpact range understandingVSAvoidexecution path information
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The patent applies local quality by providing different types of information with different visual characteristics for different parts of the display: dependency relationships are highlighted to show impact range, while execution history information is presented separately to show actual execution paths. This allows both the impact range and execution paths to be understood simultaneously through differentiated local presentation qualities.

Inventive Principle:
Principle #3Local quality

4Measurement precision

If the developer reads and checks the source code directly, then detailed understanding is achieved, but it requires many man-hours and not all source code can be grasped

Engineering Contradiction:
Improvesoftware understanding accuracyVSAvoidchecking time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent creates a visual copy or representation of the software structure and execution histories through the display unit. Instead of requiring developers to read and check the actual source code, the system generates a graphical representation showing structural elements, their dependency relationships, and execution history information. This visual copy provides detailed understanding of software flow and structure while dramatically reducing the time required compared to manual source code review.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11880681B2Software analysis apparatus
Publication Date: 2024.01.23 MITSUBISHI ELECTRIC CORP
  • US11880681B2 patent drawing
  • US11880681B2 patent drawing
  • US11880681B2 patent drawing

AI summary

According to the present invention, an analysis unit configured to analyze weights of a plurality of structural elements included in the structural information and weights of dependency relationships of each of the plurality of structural elements based on the structural information and a plurality of execution histories, a structural element designation unit configured to designate one of the structural element among the structural elements included in the structural information as a designated structure element, a display information calculation unit configured to calculate display information including a dependency structural element being a structural element having a dependency relationship with the designated structure element and a weight of the dependency structural element, and a correspondence between the designated structural element and the dependency structural element and a weight of the correspondence, and a display configured to display the display information.