Software Pattern Merging via Unique Identifiers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for merging and managing software patterns lack stability and consistency, particularly in the face of source code changes, file and directory renaming, analysis tool revisions, and changes in merging rules, leading to over-merging and productivity issues during software development.

Innovation Solution

The method involves creating a unique identifier for software patterns using a discriminator that is resistant to over-merging and changes, allowing for robust pattern merging and management across different analysis tool versions, while preserving triage results and maintaining database stability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If conventional merging methods are used to consolidate patterns across analysis runs, then the number of patterns to manage is reduced, but the risk of over-merging different issues increases

Engineering Contradiction:
Improvenumber of patterns to manageVSAvoidaccuracy of pattern distinction
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent changes the parameters used for pattern identification from simple structural features to include cryptographic hash values and unique identifiers. By transforming the merging criteria from basic pattern matching to hash-based comparison, the system achieves more reliable distinction between identical and different patterns, reducing over-merging while maintaining consolidation benefits.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces unique identifiers and cryptographic hash values as intermediary elements between the original pattern data and the merging process. These intermediaries serve as stable reference points that enable accurate pattern matching without directly comparing the full pattern details, thus preventing over-merging while still allowing effective consolidation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If analysis tools are upgraded to improve analysis capabilities, then the quality of defect detection is improved, but previous triage results may be nullified requiring redone triage

Engineering Contradiction:
Improvequality of defect detectionVSAvoidtime for re-triage
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by assigning unique identifiers and computing cryptographic hash values for patterns during the initial analysis runs. This preliminary structuring of pattern data with stable identifiers enables future analysis tool upgrades to preserve triage results, as the unique identifiers serve as persistent references that maintain the link between old and new analysis results.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates copies of pattern information in the form of unique identifiers and hash values that are stored separately from the original pattern data. These copied identifier elements serve as stable references that can be matched across different analysis tool versions, allowing triage results to be preserved and transferred when upgrading analysis tools.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If source code changes and file renaming are allowed during development, then software flexibility and adaptability are improved, but pattern tracking and merging stability deteriorate

Engineering Contradiction:
Improvesoftware flexibilityVSAvoidpattern tracking stability
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The patent introduces unique identifiers as intermediary elements that decouple the pattern tracking system from the actual source code structure. These identifiers serve as stable references that remain valid even when source code files are renamed or reorganized, allowing the system to maintain pattern tracking stability while accommodating software flexibility and adaptability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the tracking parameter from file-based identifiers (which are vulnerable to renaming) to cryptographic hash values and unique identifiers that are derived from the pattern content itself. This parameter transformation makes pattern tracking stable against source code structural changes while preserving the ability to track patterns across file renames and reorganizations.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8516434B2Methods for marking, merging, and managing the results of software program analysis
Publication Date: 2013.08.20 BLACK DUCK SOFTWARE INC
  • US8516434B2 patent drawing
  • US8516434B2 patent drawing
  • US8516434B2 patent drawing

AI summary

Methods are provided for marking and merging individual report elements, patterns, or defects resulting from analysis based on common characteristics within a report or across reports resulting from different analysis runs. Methods are also provided for migrating a set of report elements, patterns, or defects resulting from one version of an analysis tool to one consistent with a new version of the analysis tool while preserving as much information as possible from the older set.