Stack Trace Compression via Runtime Value Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Saving entire stack traces or branch traces in log messages is inefficient due to brevity loss and high memory and execution costs, making them impractical for debugging and diagnostics.

Innovation Solution

Generating metadata files for possible stack and branch traces, updating run-time trace values using mathematical operations, and matching these values to compress and represent the calling context efficiently, allowing for concise logging without performance sacrifices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If entire stack traces or branch traces are saved in log messages, then debugging information is complete, but message brevity is lost and memory and execution costs increase

Engineering Contradiction:
Improvedebugging informationVSAvoidlog message length
Core Design Contradiction:
Loss of informationVSLength of moving object

Solution Approach 1:

The patent extracts only the essential debugging information from complete stack traces by generating a compressed representation that includes only necessary function identifier bits, eliminating redundant information while preserving debugging capability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the representation parameter of stack traces from full detailed format to compressed bit-based format, transforming the data structure to reduce size while maintaining informational content for debugging

Inventive Principle:
Principle #35Parameter changes

2Loss of information

If entire stack traces or branch traces are saved in log messages, then debugging information is complete, but memory consumption and execution speed are reduced

Engineering Contradiction:
Improvedebugging informationVSAvoidexecution speed
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent extracts only the essential debugging information from complete stack traces by generating a compressed representation that includes only necessary function identifier bits, eliminating redundant information while preserving debugging capability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the representation parameter of stack traces from full detailed format to compressed bit-based format, transforming the data structure to reduce size while maintaining informational content for debugging

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9256515B2Stack trace compression
Publication Date: 2016.02.09 VMWARE INC
  • US9256515B2 patent drawing
  • US9256515B2 patent drawing
  • US9256515B2 patent drawing

AI summary

Exemplary methods, apparatuses, and systems generate a plurality of possible stack traces for a computer program. Each possible stack trace represents functions that may be active while the computer program is running. Each function has a corresponding function identifier. A value for at least one of the plurality of possible stack traces is generated. Generating the value for each stack trace includes performing a series of one or more mathematical or logical operations between the function identifiers of the possible stack trace. A stack trace is generated as an output based upon a match between a run-time stack trace value and the at least one generated stack trace value.