Automated Mobile App Failure Detection via Decompilation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Manual verification of mobile applications for potential failures on hosting devices is cumbersome and slow, especially in large numbers, particularly in security-critical environments like automotive systems, where ensuring compatibility and error-free execution is crucial.

Innovation Solution

A method involving a processor to decompile executable files, search for predetermined string patterns related to potential failures, and output indications of detected issues, using a device with a module for decompiling, pattern searching, and generating reports, facilitating automated detection and reporting of compatibility issues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual verification by an expert is performed to ensure mobile application compatibility and detect potential failures, then the reliability of application execution is improved, but the productivity and time efficiency deteriorate due to the cumbersome and slow nature of manual processes

Engineering Contradiction:
Improveapplication execution reliabilityVSAvoidverification productivity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces the manual mechanical verification process with an automated computer-based system that decompiles executable files, extracts descriptive information, and systematically searches for potential failures using predefined patterns. This substitution of manual expert review with automated computational analysis resolves the contradiction by maintaining high reliability through systematic checking while dramatically improving productivity through automation.

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

Solution Approach 2:

The verification system performs self-service by automatically decompiling application files, extracting metadata and resource information, and detecting potential failures without requiring continuous human intervention. The system serves itself by maintaining databases of failure patterns and automatically comparing extracted application information against these patterns, enabling scalable verification that doesn't proportionally increase human labor.

Inventive Principle:
Principle #25Self-service

2Measurement precision

If manual verification methods are used to assess mobile application compatibility, then detailed analysis capability is maintained, but the loss of time increases significantly when large numbers of applications need to be verified

Engineering Contradiction:
Improvefailure detection precisionVSAvoidverification time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-defining databases of failure patterns, error signatures, and compatibility criteria before the actual verification process. During verification, the system quickly matches extracted application information against these pre-prepared patterns, enabling rapid detection without sacrificing detection precision. This preliminary preparation resolves the time-loss contradiction by having analysis criteria ready in advance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates copies of application executable files and decompiles them to extract descriptive information and resource data. By working with these copied and decomposed representations rather than the original compiled binaries, the system can perform detailed analysis efficiently. The decompilation process creates accessible copies that can be rapidly searched and analyzed, maintaining precision while reducing verification time.

Inventive Principle:
Principle #26Copying

3Productivity

If automated detection methods are implemented to improve verification productivity, then the loss of time is reduced, but the device complexity increases due to the need for decompilation tools and pattern matching systems

Engineering Contradiction:
Improveverification productivityVSAvoiddetection system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The verification system is segmented into distinct functional modules: an executable file decompilation module that converts binary files to readable formats, an information extraction module that retrieves metadata and resource data, a pattern matching module that compares extracted information against failure databases, and a reporting module that generates verification results. This segmentation manages complexity by organizing functions into independent, manageable components that can be developed and maintained separately while working together to achieve high productivity.

Inventive Principle:
Principle #1Segmentation

4Reliability

If comprehensive decompilation and analysis is performed on all mobile applications to detect potential failures, then the reliability of execution is improved, but the use of energy and computational resources increases

Engineering Contradiction:
Improveapplication compatibility assuranceVSAvoidcomputational resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system extracts only the specific descriptive information and resource data that are relevant to failure detection from the decompiled application files. Rather than analyzing the entire application codebase, the system selectively extracts metadata, permissions, hardware requirements, and other critical information that can be quickly compared against failure patterns. This selective extraction reduces computational resource consumption while maintaining reliability by focusing on the most relevant verification criteria.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11940870B2Method and device for automatically detecting potential failures in mobile applications
Publication Date: 2024.03.26 FAURECIA APTOIDE AUTOMOTIVE LDA
  • US11940870B2 patent drawing
  • US11940870B2 patent drawing

AI summary

A method and a device for automatically detecting potential failures in mobile applications implemented on an operating system for mobile devices, a mobile application being executable on the operating system installed on a hosting device by executing code instructions stored in an associated executable file. Provided an executable file associated to a mobile application, the device implements a module for decompiling the executable file to obtain at least one descriptive file of the mobile application containing descriptive code formatted with a markup language, a module for providing a plurality of predetermined string patterns related to potential failures, and a module for searching for the presence of at least one of the string patterns in the at least one descriptive file, and in case of presence, outputting an indication of presence of a potential failure associated to the detected string pattern.