Crash Clustering with Game State Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern application programs, particularly in the videogame industry, face challenges in ensuring quality assurance due to increased complexity and frequency of bugs and crashes, which are difficult to predict and test given time, budget, and personnel constraints.
Innovation Solution
A system that organizes crash reports into clusters using machine learning algorithms, incorporating both call stack and game state data, allowing for prioritization of quality assurance efforts on larger clusters and enabling testing and mitigating actions in both testing and production environments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If crash reports are analyzed individually without clustering, then detailed diagnostic information is available, but the overwhelming volume of crash reports makes quality assurance inefficient and unmanageable
Solution Approach 1:
The system segments crash reports into clusters based on similarity in call stacks and game state parameters. This segmentation transforms the overwhelming individual crash reports into manageable groups, allowing QA teams to focus on representative crashes from each cluster rather than analyzing every single crash report individually.
Solution Approach 2:
The system merges similar crash reports into unified clusters. By combining crash reports with similar characteristics (call stacks and game state parameters), the system reduces the total number of items to analyze while preserving the diagnostic information through cluster representatives.
2Reliability
If all crash reports are processed equally, then comprehensive coverage is achieved, but time and resources are wasted on rare or less impactful crashes
Solution Approach 1:
The system applies different levels of analysis and resources to different clusters based on their characteristics. Larger clusters with more crash reports or clusters indicating serious issues receive prioritized attention, while smaller or less severe clusters receive reduced resources. This local quality approach ensures comprehensive coverage where needed while saving time where less critical.
Solution Approach 2:
The system performs partial analysis by focusing on the most significant clusters rather than uniformly analyzing all crash reports. By identifying and prioritizing clusters based on size and impact, the system applies excessive action (intense analysis) to high-priority areas while using minimal action for lower-priority areas.
3Measurement precision
If crash reports include detailed game state parameters, then diagnostic accuracy is improved, but data complexity and processing requirements increase
Solution Approach 1:
The system extracts and processes only the relevant game state parameters needed for clustering and diagnostic purposes. By selecting and extracting specific parameters rather than processing all available data, the system maintains diagnostic accuracy while reducing processing complexity and resource requirements.
Data Source
AI summary
Methods for providing crash clustering with game state data are provided. In one aspect, a method includes receiving a plurality of crash reports associated with an application, wherein each of the plurality of crash reports includes a call stack and a plurality of game state parameters. The method also includes determining, by a machine learning algorithm, a plurality of clusters for grouping the plurality of crash reports, wherein each of the plurality of clusters is associated with at least one game state parameter of the plurality of game state parameters. The method also includes associating each of the plurality of crash reports with one of the plurality of clusters. The method also includes selecting a priority cluster from the plurality of clusters. The method also includes causing a quality assurance action to be performed based on the selected priority cluster. Systems and machine-readable media are also provided.


