Crash Log Processing System for Mobile App Stability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Application developers face challenges in obtaining real-time data on application crashes across various mobile devices, as user feedback may not provide timely or comprehensive information about crash issues, making it difficult to determine if crashes are isolated or widespread.

Innovation Solution

A system that includes an API server receiving crash logs from mobile devices, distributing them to crash processing servers via a message queue bus, and translating raw crash data into human-readable reports, using symbolication and de-obfuscation to generate crash reports, with multiple tiers of processors for OS-specific and application-specific translations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If user feedback is used to detect application crashes, then developers can obtain some crash information, but the data is not real-time and cannot determine if crashes are isolated or widespread

Engineering Contradiction:
Improvecrash data completenessVSAvoidcrash detection time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The system performs preliminary actions by implementing automatic crash logging and transmission mechanisms within the application itself. Crash data is captured immediately when crashes occur and automatically transmitted to the server, eliminating the delay of waiting for user feedback. This preliminary automated data collection ensures both real-time detection and complete crash information is available to developers.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If multiple crash processing servers are used to handle crash logs, then crash processing capacity increases, but system complexity increases

Engineering Contradiction:
Improvecrash processing capacityVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments crash processing into multiple independent processing servers, each capable of handling crash logs autonomously. This segmentation increases overall processing capacity while maintaining manageable complexity through modular architecture. Each server can process crashes independently, and the system scales by simply adding more servers without fundamentally changing the system structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The message queue bus serves as an intermediary component that manages the distribution of crash logs between the API server and multiple crash processing servers. This intermediary layer simplifies the overall system architecture by providing a standardized interface for crash log distribution, reducing the complexity that would otherwise arise from direct peer-to-peer communication between multiple servers.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of information

If raw crash data is translated into human-readable form through symbolication, then developer understanding improves, but processing time increases

Engineering Contradiction:
Improvecrash data understandabilityVSAvoidcrash report generation time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The system performs preliminary symbolication by pre-loading and storing symbol information in symbol maps during application development and deployment. When crashes occur, the crash processing servers can quickly perform symbolication by referencing these pre-prepared symbol maps rather than performing full symbol resolution from scratch. This preliminary preparation significantly reduces the processing time required to translate raw crash data into human-readable form while maintaining complete understandability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10185611B2System for monitoring and tracking application crashes occurring on different mobile devices
Publication Date: 2019.01.22 OMNISSA LLC
  • US10185611B2 patent drawing
  • US10185611B2 patent drawing
  • US10185611B2 patent drawing

AI summary

Some embodiments provide a system that allows application developers to track and monitor crashes that are occurring with their applications on various mobile devices. In some embodiments, crash logs are received from the mobile devices. Hash codes are generated based on the crash logs. A report to summarize the crash logs is generated based on the hash codes.