API Backward Compatibility Detection via Dynamic Test Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional approaches for detecting API backward compatibility are limited, as they often rely on static code comparison and single decision markers, failing to account for dynamic behavior and missing significant changes, and are specific to certain software categories, thus not providing a comprehensive solution across all software types.

Innovation Solution

A system that extracts data from web-based sources to determine changes between software versions, using pattern searching operations and considering both source code and textual descriptions to generate a backward compatibility result, and displays assistive information on a display device to inform about API compatibility.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If static code comparison is used to detect API backward compatibility, then the detection process is simple and fast, but the detection accuracy is insufficient and significant changes are missed

Engineering Contradiction:
Improvedetection speedVSAvoidcompatibility detection accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent transitions from static code comparison to dynamic analysis by executing test cases against both old and new API versions. This dynamic approach captures actual runtime behavior and compatibility issues that static analysis cannot detect, directly resolving the contradiction between detection speed and accuracy.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces test cases as an intermediary mechanism between the old and new API versions. These test cases serve as a bridge to systematically compare behavior across versions, enabling accurate detection of compatibility changes while maintaining an organized and efficient detection process.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If single decision markers are used for compatibility detection, then the detection method is simple, but the comprehensive assessment of compatibility issues is insufficient

Engineering Contradiction:
Improvedetection method complexityVSAvoidcompatibility assessment reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent segments the compatibility assessment into multiple independent test cases, each evaluating specific API behaviors. This segmentation allows for a comprehensive multi-dimensional assessment of compatibility issues while keeping each individual test case simple and manageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the assessment parameters from single decision markers to multiple test case results. By evaluating multiple parameters (test case outcomes, behavior changes, error conditions), the system achieves reliable comprehensive compatibility assessment while maintaining clear and structured evaluation criteria.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If dynamic analysis with multiple decision parameters is used, then the comprehensive assessment accuracy is improved, but the detection process complexity increases

Engineering Contradiction:
Improvecompatibility detection accuracyVSAvoiddetection process complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system performs self-service by automatically generating, executing, and analyzing test cases without manual intervention. This automation handles the complexity of dynamic analysis with multiple parameters, while presenting simplified results to users, thus improving accuracy without proportionally increasing operational complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements feedback mechanisms where test case results automatically inform the compatibility assessment. This structured feedback loop systematically processes multiple decision parameters, managing the complexity of dynamic analysis through organized information flow and automated decision-making based on test outcomes.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11775290B2Detection of API backward compatibility across software versions
Publication Date: 2023.10.03 FUJITSU LTD
  • US11775290B2 patent drawing
  • US11775290B2 patent drawing
  • US11775290B2 patent drawing

AI summary

According to an aspect of an embodiment, operations for detection of API compatibility across software versions are provided. The operations may include receiving an input associated with a software application. The operations may further include determining first information. The operations may further include extracting a set of data from one or more web-based sources based on the determined first information. The operations may further include executing a set of operations including one or more pattern searching operations on the extracted set of data to generate a compatibility result. The operations may further include controlling a display device based on the generated compatibility result. The display device may be controlled to display assistive information which informs about a compatibility of the one or more APIs or the functions used in the source code of the software application with respect to the second version of the software.