Third-Party Component Update Analysis for Breaking Change Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Identifying and resolving incompatibilities caused by updates to third-party software components is labor-intensive, leading developers to hesitate in updating to newer versions due to potential breaking changes that can disrupt application functionality.

Innovation Solution

A server analyzes project code by comparing type hierarchies, call graphs, and function/field access between component versions to identify a set of breaking changes, using artificial intelligence to predict and suggest modifications to avoid incompatibilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If developers manually identify and resolve incompatibilities caused by third-party component updates, then compatibility can be maintained, but the process becomes labor-intensive and time-consuming

Engineering Contradiction:
ImprovecompatibilityVSAvoidupdate time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary analysis by automatically comparing type hierarchies, call graphs, and function/field access patterns between old and new component versions before the update is applied. This advance detection of breaking changes allows developers to prepare resolutions in advance, transforming a manual post-update troubleshooting process into an automated pre-update analysis process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary analysis system that acts as a mediator between the developer and the third-party component update. This intermediary automatically performs the compatibility assessment by analyzing type hierarchies, call graphs, and access patterns, eliminating the need for developers to manually perform these complex comparisons.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If developers manually compare type hierarchies, call graphs, and function access to identify breaking changes, then compatibility can be ensured, but the complexity and labor intensity increase significantly

Engineering Contradiction:
ImprovecompatibilityVSAvoidanalysis complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the compatibility analysis into distinct, manageable components: type hierarchy comparison, call graph comparison, and function/field access comparison. By dividing the complex analysis task into these separate segments, the system can process each aspect independently and systematically, reducing the overall complexity while maintaining comprehensive coverage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The analysis system performs self-service by automatically generating and executing the compatibility assessment without requiring developer intervention in the actual analysis process. The system independently compares type hierarchies, call graphs, and access patterns, producing breaking change identification results autonomously.

Inventive Principle:
Principle #25Self-service

3Ease of manufacture

If developers wait until after updating to identify breaking changes, then the update process is simpler, but functionality may be disrupted and resolution becomes more difficult

Engineering Contradiction:
Improveupdate simplicityVSAvoidfunctionality
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The system performs preliminary compatibility analysis before the update is applied, identifying potential breaking changes in advance. This allows developers to resolve compatibility issues before they cause functional disruptions, ensuring that the update process remains simple while maintaining functionality.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system provides feedback about potential breaking changes and their impacts on the application before the update is committed. This feedback mechanism allows developers to adjust their approach, resolve identified issues, or modify the update strategy to maintain functionality while proceeding with the update.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20260003765A1Determining an impact of changes to third-party software components on downstream users
Publication Date: 2026.01.01 ENDOR LABS INC
  • US20260003765A1 patent drawing
  • US20260003765A1 patent drawing
  • US20260003765A1 patent drawing

AI summary

In some cases, a server determines that project code calls a component in a third-party library that has been updated. The server compares a first type hierarchy of the component with a second type hierarchy of the updated component, a first call graph of the component with a second call graph of the updated component, a first set of functions called by the component with a second set of functions called by the updated component, and a first set of fields (directly and transitively) accessed by the component with a second set of fields accessed by the updated component. The server determines, based on the comparisons, a set of breaking changes associated with the updated component. Each breaking change identifying changes to the updated component that may cause an incompatibility. The project code is modified to create modified project code that does not include a breaking change.