Hash-Based Static Analysis Warning Deduplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In software development, as the size and complexity of software increase, coding mistakes lead to improper operation, and existing static analysis systems generate a large number of repetitive warnings across different versions, decreasing developer efficiency and increasing the difficulty in managing and reviewing code errors.

Innovation Solution

An analysis result management device that utilizes a table of warning descriptions and identification information to calculate a hash value for each warning, allowing it to associate warnings across different static analysis tools, thereby suppressing duplicate warnings and improving management efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple static analysis tools are used to analyze source code, then the detection capability and coverage of coding mistakes are improved, but the number of duplicate warnings increases dramatically

Engineering Contradiction:
Improvedetection capabilityVSAvoidnumber of warnings
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges warnings from multiple static analysis tools by calculating hash values for each warning and grouping those with identical hash values together. This consolidation reduces the total number of warnings displayed to developers while preserving the detection capabilities of all analysis tools.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a standardized representation of warnings through hash value calculation, where each unique warning type is copied once and referenced multiple times across different analysis tools. This eliminates redundant warning instances while maintaining the original detection insights.

Inventive Principle:
Principle #26Copying

2Reliability

If the number of warnings increases due to multiple analysis tools, then the coverage of detected errors is improved, but the time required for developers to review warnings increases

Engineering Contradiction:
Improveerror detection coverageVSAvoidreview time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

By merging duplicate warnings into single representative instances, the system reduces the total review time required while maintaining comprehensive error detection coverage across multiple analysis tools.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The hash value mechanism allows the system to copy and reference unique warning patterns multiple times, enabling rapid identification and review of distinct error types without repeatedly examining identical warnings from different tools.

Inventive Principle:
Principle #26Copying

3Ease of operation

If static analysis results are managed without deduplication, then the simplicity of the management system is maintained, but the efficiency of warning management and review decreases

Engineering Contradiction:
Improvesimplicity of managementVSAvoidwarning management efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent transforms the management approach by introducing hash values as a new parameter for identifying and grouping warnings. This parameter change enables automatic deduplication and efficient organization of warnings from multiple tools without significantly complicating the management system.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20250208974A1Analysis result management device, analysis result management method, and storage medium thereof
Publication Date: 2025.06.26 DENSO CORP
  • US20250208974A1 patent drawing
  • US20250208974A1 patent drawing
  • US20250208974A1 patent drawing

AI summary

An analysis result management device, which manages static analysis results obtained by different analysis tools, includes: a table including multiple different warning descriptions generated corresponding to a same type of warning and identification information associated with each of the multiple different warning descriptions; an input unit receiving the static analysis results of the source code analyzed by the different analysis tools; a hash value calculation unit calculating a hash value for a target warning, for which the hash value is to be calculated, using the identification information in response to determining that one of the multiple different warning descriptions corresponds to the target warning; a database storing data of the target warning in association with the calculated hash value; and a display unit displaying the data stored in the database.