Crash Clustering with Game State Data

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

VSEngineering 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

Engineering Contradiction:
Improvequality assurance efficiencyVSAvoidnumber of crash reports
Core Design Contradiction:
ProductivityVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #5Merging (Combining)

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

Engineering Contradiction:
Improvequality assurance coverageVSAvoidtime for quality assurance
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If crash reports include detailed game state parameters, then diagnostic accuracy is improved, but data complexity and processing requirements increase

Engineering Contradiction:
Improvediagnostic accuracyVSAvoiddata processing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10606683B1Crash clustering call stacks with game state data
Publication Date: 2020.03.31 ELECTRONIC ARTS INC
  • US10606683B1 patent drawing
  • US10606683B1 patent drawing
  • US10606683B1 patent drawing

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.