Crash Analysis System for Third-Party Plugin Stability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Applications often crash due to third-party supplemental code modules, which are difficult for users to identify and resolve, as the origin of the crash is unclear and testing against all third-party plugins is not feasible for OS and application developers.
Innovation Solution
A system and method that determines whether an application crash was caused by a third-party supplemental code module, providing a user interface to identify the responsible module and allowing users to take actions such as uninstalling or disabling it, by examining the call stack and determining the origin of code modules.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If third-party supplemental code modules are added to extend application functionality, then application versatility is improved, but application reliability deteriorates due to crashes caused by unauthorized or undocumented APIs
Solution Approach 1:
The system performs preliminary analysis of the call stack before the application crashes, examining code modules in advance to identify third-party supplemental code. By proactively detecting the presence and origin of supplemental code modules before they cause crashes, the system can warn users in advance and prevent reliability issues while maintaining functionality.
Solution Approach 2:
The system introduces an intermediary analysis layer between the application and third-party supplemental code. This intermediary examines the call stack and identifies supplemental code modules, acting as a mediator that detects potential compatibility issues between third-party code and the application without requiring direct testing between them.
2Reliability
If comprehensive testing against all third-party plug-ins is performed, then application reliability is improved, but device complexity and testing resources increase significantly
Solution Approach 1:
The system extracts and analyzes only the relevant portion of the execution context - specifically the call stack - when a crash occurs. Instead of testing all possible third-party plug-ins comprehensively, the system extracts information about which supplemental code modules were actually loaded and executed, focusing testing resources only on those specific modules.
Solution Approach 2:
The system implements feedback by analyzing crash information and call stacks to identify which third-party supplemental code modules caused the crash. This feedback mechanism allows the system to learn from actual crashes rather than requiring proactive testing of all possible plug-ins, reducing testing complexity while maintaining reliability.
3Ease of operation
If detailed crash analysis is provided to users, then ease of operation is improved, but information processing complexity increases
Solution Approach 1:
The system segments the complex crash analysis process into distinct components: identifying the crash location in the call stack, determining which code modules are present, classifying them as third-party supplemental code, and presenting this information to the user. This segmentation simplifies the user interface while managing the underlying complexity through modular analysis steps.
Data Source
AI summary
Provided is a method for mitigating the effects of an application which crashes as the result of supplemental code (e.g., plug-in), particularly a plug-in from a source other than the source of the operating system of the device or the source of the application that crashes. The method includes executing the application. As the application is running, it may be monitored to determine if normal execution of instructions ceases. When that occurs, the system will make a determination if code from a supplemental code module was the cause of the crash, and will make an evaluation if that supplemental code module is from a source other than the source(s) of the operating system and application in question. In some implementations, remedial steps may be provided, such as providing information on subsequent executions of the application.


