Software Interface Usage Analysis for Compatibility Certification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing variety and frequent updates in computing equipment and software configurations make it challenging for vendors to comprehensively test and certify product compatibility, leading to a risk of products not functioning as intended despite certification.

Innovation Solution

A method and system that detect and analyze the interfaces used by software components to determine compatibility, using a scanner to identify interface changes and a comparator to assess their effects, allowing for proactive certification and notification of vendors without extensive testing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If vendors conduct extensive testing in multiple configurations to ensure compatibility, then reliability of product compatibility is improved, but loss of time and productivity deteriorate due to the vast number of possible configurations

Engineering Contradiction:
Improveproduct compatibilityVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the essential compatibility-determining factor (interface usage) from the complex testing problem. Instead of testing all possible configuration combinations, the system identifies and analyzes only the specific interfaces that software components use to interact with the operating system, thereby solving the contradiction between comprehensive testing and time consumption

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary analysis system that acts as a mediator between software components and the operating system. This system automatically detects interface usage patterns and predicts compatibility issues without requiring exhaustive testing across all configurations, thus reducing testing time while maintaining reliability

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If vendors test products in limited configurations to reduce testing time, then productivity is improved, but reliability of compatibility certification deteriorates due to untested configurations

Engineering Contradiction:
Improvecertification speedVSAvoidcompatibility certification
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by detecting and analyzing interface usage patterns before compatibility issues arise. The system proactively identifies which interfaces are used by software components and predicts potential compatibility problems in advance, allowing certification without exhaustive testing of all configurations

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the certification parameter from testing all configuration combinations to analyzing interface usage characteristics. By shifting the certification basis from comprehensive configuration testing to interface behavior analysis, the system achieves both high productivity and reliable certification

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If developers conduct extensive testing and adjust application programs after operating system updates, then adaptability to new OS versions is improved, but loss of time and complexity of the process worsen

Engineering Contradiction:
ImproveOS version compatibilityVSAvoidtesting and adjustment process
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements feedback by automatically detecting interface usage and providing information about potential compatibility issues. This feedback mechanism allows developers to understand exactly which interfaces are affected by OS updates, reducing the complexity of adaptation while maintaining high OS version compatibility

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8332817B2Certifying a software application based on identifying interface usage
Publication Date: 2012.12.11 RED HAT INC
  • US8332817B2 patent drawing
  • US8332817B2 patent drawing
  • US8332817B2 patent drawing

AI summary

Embodiments of the present invention provide a mechanism for certifying the compatibility of a software product by identifying the interfaces (API or ABI) used by that product. The source code or object code of a component is analyzed by a tool that traces which interfaces and data structures of an ABI/API are being utilized. For example, an ISV or IHV may be required to run the tool on their respective components in order to have that component certified with a particular version of an operating system and submit the results to a certification service. The certification service may collect this API/ABI information into an integrated database. The certification service may then use this database to analyze the impact of changes to an operating system at the binary interface level, proactively notify vendors prior to these changes, test compatibility and emulation libraries, and certify components are compatible with an operating system without the need of significant testing.