Cloud Crash Report Annotation Service
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software applications often experience crashes outside the development environment, leading to incomplete and overwhelming crash reports that hinder bug identification and fixing, as they lack detailed information and are difficult to access and manage.
Innovation Solution
A cloud-based system that annotates crash reports by converting debugging information into object representations, storing it in a database, and using REST requests to annotate crash reports with symbols like method names and line numbers, enabling efficient handling and diagnosis of application bugs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If crash reports are generated from client devices outside development environment, then application can be deployed to market, but crash reports lack detailed information making bug identification difficult
Solution Approach 1:
The patent introduces a cloud-based service as an intermediary between client devices and developers. This service receives crash reports from client devices, enriches them with additional information from multiple sources, and makes the enhanced reports available to developers. The intermediary handles the complexity of information aggregation and presentation, allowing developers to access comprehensive crash information without managing complex data collection systems themselves.
Solution Approach 2:
The system performs preliminary actions by pre-configuring collection parameters, pre-establishing communication channels with various data sources, and pre-processing crash report structures before actual crash events occur. This preparation enables rapid and comprehensive data collection when crashes happen, ensuring information completeness without adding real-time complexity to the crash handling process.
2Productivity
If high volume of crash reports are generated from popular applications, then more users can be served, but crash report handling process becomes overwhelmed
Solution Approach 1:
The patent segments the crash report handling process into distinct modular components: a cloud-based service that receives crash reports, a processing layer that enriches and filters reports, and a presentation layer that delivers information to developers. This segmentation allows each component to handle specific tasks independently, improving scalability and preventing any single process from becoming overwhelmed by high volumes of reports.
Solution Approach 2:
The system implements self-service mechanisms where the cloud-based service automatically processes, enriches, and distributes crash reports without requiring manual intervention. The automated filtering, classification, and presentation of crash information reduces the operational burden on developers and enables the system to handle high volumes of reports efficiently through automated workflows.
3Ease of operation
If crash reports are accessed from cloud-based service, then developers can access reports conveniently, but additional processing time is required for information enrichment
Solution Approach 1:
The system performs preliminary enrichment actions by pre-establishing communication channels with data sources and pre-configuring collection parameters before crash events occur. When crashes happen, the system can rapidly retrieve and process information without time-consuming setup procedures, reducing the overall processing time while maintaining comprehensive data collection and convenient accessibility.
Data Source
AI summary
One embodiment of the present invention relates to a system for efficiently annotating numerous crash reports originating from multiple instances of an application. Prior to deploying a version of the application, a service receives a file that stores debugging information associated with the version. Next, the service parses the debugging information from the file. The service then converts the debugging information into an object representation in memory and stores the object representation in a database. Next, in response to an instance of the version crashing on a client device, the service receives a crash report from the client device. Then, for each item in the crash report, the service determines whether that item needs to be annotated and, if so, annotates the item.


