Call Stack Filtering for Duplicate Crash Failure Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In fast-paced software development environments, identifying and distinguishing between duplicate crash failures in software applications is time-consuming and labor-intensive, often requiring manual effort, especially when builds crash due to both new and existing errors.
Innovation Solution
A method utilizing call stack filtering and similarity scoring to automate the identification of duplicate crash failures by comparing filtered call stacks from new and prior builds, classifying crashes based on similarity scores, and providing corrective actions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If manual error detection and debugging is performed, then accuracy in identifying crash failures is improved, but time consumption and labor intensity increase significantly
Solution Approach 1:
The patent replaces manual mechanical analysis of call stacks with an automated computer-based system that uses algorithms to filter, compare, and identify duplicate crash failures. The system automatically processes call stack data, applies filtering criteria, calculates similarity scores, and generates reports without human intervention, thereby reducing time consumption while maintaining identification accuracy.
Solution Approach 2:
The system enables self-service by allowing the software development infrastructure to automatically detect and classify duplicate crash failures without requiring manual analysis. The automated comparison and similarity scoring mechanisms allow the system to serve its own error detection needs, freeing developers from time-consuming manual debugging tasks.
2Measurement precision
If comprehensive call stack analysis is performed to distinguish duplicate crashes, then detection accuracy is improved, but computational complexity and processing time increase
Solution Approach 1:
The patent segments the call stack analysis process into distinct modular components: filtering module (removing noise and irrelevant entries), comparison module (matching filtered call stacks), and scoring module (calculating similarity metrics). This segmentation reduces computational complexity by breaking down the complex analysis task into manageable, independent stages that can be processed efficiently.
Solution Approach 2:
The system extracts only the essential and relevant portions of call stacks for comparison by applying filtering criteria that remove redundant, noisy, or irrelevant entries. This extraction process reduces the data volume requiring complex analysis while preserving the critical information needed for accurate duplicate detection, thereby lowering computational complexity.
3Productivity
If automated duplicate crash detection is implemented, then productivity in error identification is improved, but system complexity increases
Solution Approach 1:
The automated detection system is designed with universal components that can handle multiple types of crash analysis tasks through the same filtering, comparison, and scoring mechanisms. This multi-functionality allows a single system architecture to improve productivity across various error detection scenarios without requiring separate complex systems for each function.
Solution Approach 2:
The system manages complexity by allowing flexible adjustment of parameters such as filtering criteria thresholds, similarity score cutoffs, and comparison weights. These parameter changes enable the system to adapt to different project requirements and complexity levels without fundamentally altering the core architecture, thereby improving productivity while controlling system complexity.
Data Source
AI summary
Various examples described herein are directed to systems and methods for debugging a software application. A computing system may access a call stack. The call stack may describe a first plurality of function calls made by a software application prior to a first crash of the software application and an order of the first plurality of function calls. The computing system may filter the call stack to generate a first filtered call stack and determine a similarity score for the first crash and a second crash of the software application. The determining of the similarity score may be based on comparing the first filtered call stack to a second filtered call stack. The second filtered call stack may describe a second plurality of function calls made by the software application prior to the second crash of the software application and an order of the second plurality of function calls.


