Automated Software Crash Diagnosis via Stack-Trace Vector Similarity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Operating system (OS) crashes result in significant monetary and operational losses due to the manual and time-consuming process of diagnosing the root cause using stack-trace files, which disrupts application and data services, necessitating an efficient method for quick identification of similar problems in large databases.

Innovation Solution

A method utilizing vector space modeling to calculate angles between stack-trace vectors and grouping them into similar sets through a maximal cliques process, enabling automatic diagnosis and potential solution determination for software crashes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If manual analysis of stack-trace files is used to diagnose software crashes, then diagnostic accuracy can be maintained through human expertise, but diagnostic time and operational losses increase significantly

Engineering Contradiction:
Improvediagnostic timeVSAvoidmanual analysis process
Core Design Contradiction:
Loss of timeVSExtent of automation

Solution Approach 1:

The system enables self-service diagnosis by automatically analyzing stack-trace files and comparing them against a database of known issues. The automated diagnosis system processes crash reports without requiring manual intervention, extracting features, computing similarities, and identifying potential causes independently, thereby reducing diagnostic time while maintaining accuracy through algorithmic analysis

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical process of manual analysis with an automated computational system. Instead of technicians manually examining stack-trace files, the system uses feature extraction, vector space modeling, and similarity computation algorithms to automatically diagnose crashes, substituting human mechanical analysis with automated information processing

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If technical support personnel manually search through large databases of prior problems, then comprehensive solution coverage is achieved, but productivity and diagnostic speed decrease

Engineering Contradiction:
Improvediagnostic efficiencyVSAvoidcomprehensive search capability
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The system extracts key features from stack-trace files such as exception types, function names, file paths, and line numbers. By extracting these essential diagnostic features and representing them as vectors, the system enables efficient comparison and search without requiring manual review of entire crash reports, thereby improving productivity while preserving comprehensive analysis capability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent transforms stack-trace data into vector representations with specific parameters (exception type, function name, file path, line number). This parameter transformation enables efficient computational comparison and similarity measurement, allowing the system to rapidly search through large databases while maintaining comprehensive diagnostic coverage through structured parameter analysis

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If developers manually analyze registers, memory content, and source code to determine faulting functions, then precise root cause identification is achieved, but time consumption and operational losses increase

Engineering Contradiction:
Improveroot cause identification accuracyVSAvoidanalysis time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary analysis by automatically extracting and organizing key features from stack-trace files before comparison. It pre-processes crash reports by identifying exception types, function names, and code locations, preparing structured representations that enable rapid accurate matching against known issues, thereby achieving precise root cause identification without manual analysis time

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates vector representations as copies of the essential information from stack-trace files. These vector copies contain extracted features (exception type, function name, file path, line number) that preserve the diagnostic information needed for accurate root cause identification while enabling efficient computational comparison and similarity measurement

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10055274B2Automated diagnosis of software crashes
Publication Date: 2018.08.21 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10055274B2 patent drawing
  • US10055274B2 patent drawing
  • US10055274B2 patent drawing

AI summary

A method for diagnosing software crashes includes calculating, using vector space modeling, angles between vectors representing stack-traces from reports in a repository on one or more server computer systems, to define similarities in the reports, wherein reports are deemed similar where angles between their respective vectors are less than a threshold value. The method further includes grouping the reports into similar sets using a maximal cliques process and automatically diagnosing, in response to a received software crash, a first stack-trace extracted from a first report of the received software crash, to determine a potential solution to the received software crash.