Merging Ordered Sets Preserving Order

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Merging ordered sets while preserving their original order is challenging, especially when the metric used to determine the order is unknown, and existing methods either sacrifice ordering information or require long execution times, particularly in large-scale computations like thread-wise call graphs in software analysis.

Innovation Solution

A method that determines a similarity score between an ordered input set and cluster sets, merges them while preserving the original order, and uses techniques like doubly linked lists, topological sorts, and edit scripts to maintain computational efficiency, ensuring the merged set reflects the original orderings of the constituent sets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If existing merging methods are used to combine ordered sets, then the merging operation can be completed, but the original ordering information is lost or the execution time becomes unacceptably long

Engineering Contradiction:
Improveordering informationVSAvoidexecution time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent creates a copy of the ordered set elements with metadata that tracks their original position and ordering information. This copying approach allows the merged set to preserve ordering references without requiring complete reordering computations, thus maintaining ordering information while reducing execution time.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs preliminary actions by pre-processing the ordered sets to identify and mark elements that maintain relative ordering relationships before the actual merging operation. This preliminary indexing and tagging enables the merge to preserve ordering information without requiring expensive post-merge sorting operations.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If existing merging methods are used to combine ordered sets, then the merging operation can be completed, but the execution time becomes unacceptably long for large-scale computations

Engineering Contradiction:
Improvemerging speedVSAvoidexecution time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

By creating lightweight copies of elements with embedded ordering metadata rather than performing complete re-sorts, the patent achieves O(n) or O(n log n) merging performance while preserving ordering information, significantly improving productivity for large-scale software analysis workloads.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent changes the parameter representation from complete ordering sequences to compact metadata markers that encode positional relationships. This parameter transformation enables faster merging operations while maintaining the ability to reconstruct or reference original orderings when needed.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If ordering information is preserved during merging, then the merged set maintains accuracy, but the complexity of the merging operation increases

Engineering Contradiction:
Improveordering accuracyVSAvoidmerging operation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent attaches ordering metadata to copied elements rather than implementing complex comparison logic during merging. This copying strategy preserves ordering accuracy through metadata preservation while keeping the merging operation itself simple and efficient.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11995105B2Merging totally ordered sets
Publication Date: 2024.05.28 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11995105B2 patent drawing
  • US11995105B2 patent drawing
  • US11995105B2 patent drawing

AI summary

Methods and systems for software analysis include determining a similarity score for an ordered input set and at least one ordered cluster set that represents a distance between the ordered input set and the at least one ordered cluster set. It is determined that he ordered input is similar to a first cluster of the at least one ordered cluster set, based on the similarity score. The ordered input set is merged to the first cluster of the at least one cluster set to generate a merged set that preserves an ordering of the ordered input set and the first cluster. Software analysis is performed using the merged set.