Mobile App Compatibility Testing via Static Dependency Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for determining mobile application suitability are limited by reliance on manifest data, which can be falsified or incomplete, and do not perform dynamic analysis, leading to potential compatibility issues with hardware and software features on user devices.

Innovation Solution

Implementing a method that extracts mobile application suitability features by performing dependency analysis in the open package format context, interpreting results for OS compatibility and additional suitability metrics, and accumulating results in a dictionary to track hardware and software interfaces, beyond just manifest data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manifest data is used to determine mobile application suitability, then the process is simple and fast, but the accuracy is low because the manifest can be falsified or incomplete

Engineering Contradiction:
Improveaccuracy of compatibility testingVSAvoidcomplexity of testing process
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent performs preliminary dependency analysis on the application package before installation to extract actual hardware and software requirements. This preliminary action reveals the true dependencies embedded in the application code, preventing reliance on potentially falsified manifest data and enabling accurate compatibility assessment before deployment

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces the manual/declarative manifest-based approach with an automated static analysis system that programmatically examines application code, libraries, and resources. This substitution uses computational methods to automatically discover dependencies and generate accurate compatibility requirements without human intervention

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

2Reliability

If static analysis of package contents is performed, then dependency information can be extracted, but dynamic behavior and runtime compatibility cannot be assessed

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

Solution Approach 1:

The patent performs preliminary static analysis to extract dependency information from application code, resources, and libraries before runtime. This preliminary extraction of hardware and software requirements enables compatibility assessment without requiring actual execution, saving time while maintaining reliability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary analysis layer that processes application packages to generate a compatibility profile. This intermediary step creates a simplified representation of application requirements that can be quickly evaluated against device capabilities, bridging the gap between detailed static analysis and rapid compatibility checking

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If comprehensive dependency analysis is performed on all package contents, then accuracy improves, but the processing time and computational resources increase

Engineering Contradiction:
Improveaccuracy of feature extractionVSAvoidtesting throughput
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments the application package into distinct components (code, resources, libraries, manifests) and analyzes each segment separately using appropriate methods. This segmentation allows targeted analysis of only relevant portions, improving accuracy while reducing overall processing time compared to analyzing the entire package uniformly

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs partial analysis by focusing on key components that most significantly impact compatibility, such as binary code for hardware dependencies and resource files for software requirements. By analyzing only the most critical portions rather than every detail, the system achieves sufficient accuracy while maintaining high productivity

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10685298B2Mobile application compatibility testing
Publication Date: 2020.06.16 FLEXERA SOFTWARE LLC
  • US10685298B2 patent drawing
  • US10685298B2 patent drawing
  • US10685298B2 patent drawing

AI summary

Application compatibility testing for mobile applications enables enterprises to improve the extraction of mobile application suitability features (MASFs) from an App using techniques other than reading the package's manifest. In addition to performing dependency analysis in the open package format context, embodiments of the invention interpret the analysis results in the context of mobile devices where, in addition to binary, i.e. go/no go, OS compatibility, there is compatibility testing for other suitability metrics, such as enterprise policy compliance and device capability and/or compliance. A MASF results dictionary keeps track of the various identified hardware and software interfaces of the App.