Crash Analysis System Maps Stack Traces to Version History

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Identifying the cause of software application crashes is challenging due to the complexity of interdependent functions and frequent changes in application code, leading to reduced system performance, stability, and increased developer resources spent on debugging.

Innovation Solution

A crash analysis system that maps stack traces with code version history data, including authorship and timing, to automatically identify the causal stack frame and notify the responsible developer for rapid error resolution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual debugging methods are used to identify crash causes, then developers can resolve errors, but the process requires significant time and resources

Engineering Contradiction:
Improveapplication stabilityVSAvoiddebugging time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by automatically generating stack traces and mapping them to version history data before developers need to debug. The crash analysis system proactively identifies causal stack frames and notifies responsible developers, eliminating the need for manual time-consuming debugging processes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary crash analysis system that acts as a mediator between the complex software codebase and developers. This system maps stack traces to version history, automatically identifies causal frames, and notifies developers, serving as an intelligent intermediary that simplifies the debugging process.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If comprehensive code analysis is performed to identify crash causes, then accurate error identification is achieved, but system complexity increases

Engineering Contradiction:
Improvecrash cause identification accuracyVSAvoidanalysis system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system segments the complex crash analysis problem into manageable components: generating stack traces, retrieving version history, mapping stack frames to code versions, and identifying causal frames. This segmentation allows each component to be handled independently, reducing overall system complexity while maintaining high identification accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a new dimension to crash analysis by incorporating version history data alongside traditional stack trace information. This multi-dimensional approach enables precise identification of causal frames by considering both the call stack and the temporal evolution of code, without significantly increasing system complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Adaptability or versatility

If frequent code changes are made to improve features, then application functionality increases, but crash identification becomes more difficult

Engineering Contradiction:
Improveapplication functionalityVSAvoidcrash cause detection difficulty
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The system implements feedback by continuously monitoring code changes through version history and immediately correlating them with crash data. When crashes occur, the system provides feedback about which recent code changes may be responsible, enabling rapid identification of issues introduced by frequent functionality updates.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The crash analysis system performs preliminary mapping of stack traces to version history data, maintaining a ready-to-query structure that links code changes to their impact. This preliminary preparation ensures that even with frequent code changes, the system can quickly identify which recent modifications caused crashes without increasing detection difficulty.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11379294B1Systems and methods for crash analysis using code version history
Publication Date: 2022.07.05 INTUIT INC
  • US11379294B1 patent drawing
  • US11379294B1 patent drawing
  • US11379294B1 patent drawing

AI summary

A crash analysis system for identifying the cause of application crashes. The crash analysis system generates mapped stack traces that combine code version history data with logging information. The mapped stack traces are used to identify the causal stack frame which includes the function that caused the application crash. The crash analysis system also identifies the author of the function that caused the application crash and distributes a notification to the author that prompts the author to develop a fix that resolves the application crash.