Application Compatibility Matching via API and Library Relationship Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The frequent system migrations, such as from Windows 7 to Windows 8, require manual validation of thousands of applications for compatibility, which is time-consuming and costly, and current techniques are inefficient in verifying compatibility and correct installation across different systems.
Innovation Solution
A server system that determines relationships between executable files, library files, and APIs of applications and compares these relationships to identify matching status between applications on different platforms, using intrinsic linkage data, digital signatures, and dependency trees, reducing the need for extensive manual testing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If manual testing of applications is performed using diagnostic tools, then accurate compatibility detection is achieved, but specialized knowledge is required and the process becomes time-consuming
Solution Approach 1:
The patent creates a virtual copy of the target operating system environment and uses this copied environment to automatically execute compatibility testing. This eliminates the need for manual testing while maintaining accurate detection, as the virtual environment replicates the behavior of the actual system without requiring human intervention or specialized knowledge.
Solution Approach 2:
The patent replaces the manual mechanical testing process with an automated computer-based system. Instead of human operators using diagnostic tools, the system automatically instruments the executable, creates virtual environments, executes tests, and analyzes results, substituting human labor with automated computational processes that are both faster and equally accurate.
2Reliability
If each application is individually verified for compatibility, then accurate verification is achieved, but the process becomes inefficient when dealing with sets of identical applications across different systems
Solution Approach 1:
The patent creates a single instrumented executable that can universally test multiple applications across different operating systems. By instrumenting one representative executable and using it to test sets of identical applications, the system achieves multi-functionality where a single tool serves multiple verification purposes, greatly improving productivity while maintaining reliability through systematic testing protocols.
Solution Approach 2:
The patent performs preliminary instrumentation of a representative executable before actual compatibility testing begins. This preliminary action includes creating the instrumented version with embedded logging and analysis code, which then can be efficiently reused across multiple applications and systems, avoiding the need to individually prepare each application for testing.
3Measurement precision
If application compatibility verification is performed manually, then detailed analysis is possible, but significant man hours and costs are incurred
Solution Approach 1:
The patent creates a virtual copy of the target operating system environment to perform automated compatibility analysis. This copied environment allows detailed systematic testing of application behavior without requiring human analysts to manually examine each compatibility issue, thereby maintaining deep analysis capability while eliminating the time and cost of manual labor.
Solution Approach 2:
The patent replaces manual compatibility analysis with automated computational processes that instrument executables, execute tests in virtual environments, and automatically generate compatibility reports. This substitution maintains the depth of analysis through systematic automated examination while reducing man hours from days or weeks to minutes or hours.
4Reliability
If extensive manual testing is performed to verify correct installation, then installation accuracy is confirmed, but the process becomes time-consuming especially when migrating between systems
Solution Approach 1:
The patent creates a virtual copy of the target system environment and uses this copied environment to automatically verify installation correctness. The instrumented executable runs in this virtual environment and automatically checks installation status, confirming reliability without requiring manual verification steps that would slow down the migration process.
Solution Approach 2:
The patent replaces manual installation verification with automated testing that executes the instrumented executable and analyzes system responses. This automated mechanical process confirms installation accuracy through systematic checks while dramatically increasing migration speed by eliminating manual verification steps.
Data Source
AI summary
A server includes one or more processors configured to determine relationships between one or more executable files, one or more library files, and one or more application programming interfaces (APIs) of a first application, and compare the determined relationships of the first application to determined relationships between one or more executable files, one or more library files, and one or more APIs of a second application. An indication of a matching status between the first and second applications is provided based on the compare.


