Stack Overflow Crash Diagnosis via Inferred Frame Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging computer program crashes caused by stack overflows is challenging, as existing methods struggle to accurately identify whether a crash was due to a stack overflow and if so, the severity and impact of the overflow.

Innovation Solution

A computer-implemented method that detects crashes, maps inferred stack frames onto concrete stack frames, identifies variables within a stack overflow memory and dataflow path to a faulting instruction, and provides an output classifying the severity, likelihood, and manner of contribution of the stack overflow to the crash.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional debugging methods are used to analyze stack overflow crashes, then the debugging process becomes complex and time-consuming, but the accuracy of identifying whether a crash was caused by stack overflow remains insufficient

Engineering Contradiction:
Improveaccuracy of identifying stack overflow crashVSAvoiddebugging time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary analysis by mapping inferred stack frames onto concrete stack frames before crash analysis. This pre-establishment of variable positions and dataflow paths enables rapid identification of stack overflow contributions without time-consuming manual debugging, directly resolving the contradiction between accuracy and time consumption.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates a copy of the stack frame structure by mapping inferred stack frames onto concrete stack frames. This copying approach preserves the original program state while enabling analysis of variable positions and dataflow paths, allowing accurate crash identification without interfering with the actual execution flow.

Inventive Principle:
Principle #26Copying

2Measurement precision

If detailed analysis of all variables and dataflow paths is performed to accurately identify stack overflow impact, then the analysis precision improves, but the computational complexity increases

Engineering Contradiction:
Improveprecision of stack overflow impact analysisVSAvoidanalysis system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system segments the analysis process into distinct components: mapping stack frames to identify variable positions, tracing dataflow paths separately, and evaluating stack overflow contributions independently. This segmentation reduces computational complexity by breaking down the complex analysis task into manageable segments that can be processed efficiently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system extracts only the relevant variables and dataflow paths that are within the stack overflow memory region and contribute to the faulting instruction. By taking out only the necessary elements for analysis rather than examining all program variables, the system maintains high precision while reducing computational complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

3Loss of information

If the system provides comprehensive classification of stack overflow severity and contribution, then the diagnostic information quality improves, but the information processing overhead increases

Engineering Contradiction:
Improvequality of diagnostic informationVSAvoidprocessing overhead
Core Design Contradiction:
Loss of informationVSUse of energy by moving object

Solution Approach 1:

The system applies local quality by providing different levels of diagnostic detail based on the specific crash context. Rather than uniformly analyzing all possible scenarios with equal depth, the system focuses computational resources on the specific variables and dataflow paths that actually contributed to the crash, improving information quality while reducing unnecessary processing overhead.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11256561B1Computer program crash handling
Publication Date: 2022.02.22 SMART INFORMATION FLOW TECH LLC D B A SIFT LLC
  • US11256561B1 patent drawing
  • US11256561B1 patent drawing
  • US11256561B1 patent drawing

AI summary

A computer detects a crash of a computer program, the crash being caused by a faulting instruction. The computer determines, within concrete stack frame(s) of the computer program, memory position(s) and extent(s) of input. The computer maps, using the memory position(s) and the extent(s), inferred stack frame(s) onto concrete stack frame(s), the inferred stack frame(s) indicating positions of variables used in the computer program. The computer identifies, based on mapping the inferred stack frame(s) onto the concrete stack frame(s), at least one variable from among the variables that is within a stack overflow memory and within a dataflow path to the faulting instruction, wherein the dataflow path to the faulting instruction indicates the variables used in the computer program that are accessed by or contribute to the faulting instruction. The computer determines whether the stack overflow contributed to the crash of the computer program.