Automated Mobile App Failure Detection via Decompilation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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
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.
Data Source
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.

