Crash Analysis System for Third-Party Plugin Stability

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveapplication functionalityVSAvoidapplication stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveapplication stabilityVSAvoidtesting complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If detailed crash analysis is provided to users, then ease of operation is improved, but information processing complexity increases

Engineering Contradiction:
Improveuser ability to identify crash causeVSAvoidcrash analysis complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8930915B2System and method for mitigating repeated crashes of an application resulting from supplemental code
Publication Date: 2015.01.06 APPLE INC
  • US8930915B2 patent drawing
  • US8930915B2 patent drawing
  • US8930915B2 patent drawing

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.