Software Pattern Merging via Unique Identifiers
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


