Library Controller Software Compatibility Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software compatibility issues arise when operating systems are updated, as shared libraries change, leading to potential incompatibility with existing software, making it difficult to determine if software will run on new or updated operating systems without re-compilation.

Innovation Solution

A library controller is introduced to analyze software and compare its library usage details with the provisioning details of shared libraries, determining if the software is supported by the operating system and identifying important libraries based on usage patterns.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If shared libraries are updated in the operating system, then the operating system gains new functions and improvements, but existing software may become incompatible and stop working

Engineering Contradiction:
Improveoperating system functionalityVSAvoidsoftware compatibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary analysis of software library usage requirements before operating system updates are applied. By extracting and storing the library usage details of installed software in advance, the system can predict compatibility issues and prepare appropriate responses, such as notifying users or preventing updates that would break software functionality.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system continuously monitors and compares the library usage requirements of installed software against the library provisioning details of the operating system. This feedback mechanism detects compatibility issues by identifying mismatches between what software needs and what the OS provides, allowing for proactive compatibility management.

Inventive Principle:
Principle #23Feedback

2Reliability

If software is re-compiled to test compatibility with a new operating system, then compatibility can be confirmed, but time and resources are consumed

Engineering Contradiction:
Improvecompatibility confirmationVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Instead of re-compiling software to test compatibility, the system creates a copy or representation of the software's library usage requirements by extracting symbol information from the software binaries. This extracted usage information is then compared against the operating system's library provisioning details, providing a fast compatibility check without requiring re-compilation or installation.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system replaces the mechanical process of re-compiling and installing software for compatibility testing with an automated information extraction and comparison process. By using tools to extract symbol tables and library usage details from existing binaries, and comparing them programmatically against OS library information, the system eliminates the time-consuming re-compilation step while maintaining compatibility verification accuracy.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Productivity

If developers update shared libraries to fix bugs or add features, then the operating system improves, but the risk of breaking existing software increases

Engineering Contradiction:
Improvesoftware development efficiencyVSAvoidsoftware breakage risk
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The system applies preliminary anti-action by predicting and preventing potential software breakage before it occurs. By analyzing the library usage requirements of installed software and comparing them against proposed or applied library updates, the system can identify compatibility conflicts in advance and prevent updates that would break existing software, or notify users of potential issues.

Inventive Principle:
Principle #9Preliminary anti-action

Solution Approach 2:

The system establishes a feedback loop between library updates and software compatibility monitoring. When shared libraries are updated, the system automatically detects changes in library provisioning details and compares them against the usage requirements of installed software, providing feedback on which software may be affected by the update, allowing developers to assess the impact of their library changes.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8863108B2Finding out if software will run on an operating system without installing that software
Publication Date: 2014.10.14 RED HAT INC
  • US8863108B2 patent drawing
  • US8863108B2 patent drawing
  • US8863108B2 patent drawing

AI summary

A library controller that determines if a software is supported by an operating system is described. In one embodiment, the library controller receives the software and extracts library usage details from that software of a library that is provided by the operating system. In addition, the library controller compares the library usage details with library provisioning details of that library. Furthermore, the library controller presents results of the comparison.