Execution Trace Data Flow Analysis for Root Cause Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Identifying the root cause of undesired software behaviors, such as execution crashes or performance issues, is time-consuming and difficult due to their rarity and randomness, and existing diagnostic tools consume significant computing resources when analyzing replayable execution traces.

Innovation Solution

Employing data flow analysis of plural execution traces to generate dependency graphs and topological sorting, identifying input pairs that cause output mismatches, and traversing these graphs to pinpoint the root cause efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If conventional diagnostic tools (debuggers, profilers) are used to identify undesired software behaviors, then developers can analyze live code execution, but the process is extremely time-consuming and difficult due to the rarity and randomness of triggers

Engineering Contradiction:
Improvetime to identify root causeVSAvoidprecision of root cause identification
Core Design Contradiction:
Loss of timeVSMeasurement precision

Solution Approach 1:

The system performs preliminary actions by recording execution traces during normal software operation before the undesired behavior occurs. These traces capture the complete execution state including memory, registers, and instruction flow, enabling later analysis without requiring the behavior to be reproduced in real-time. This preliminary recording eliminates the time-consuming process of waiting for rare triggers to occur again during debugging sessions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates a copy of the execution state by generating replayable execution traces that capture the complete computational state at various points during software execution. These traces are bit-accurate copies that can be replayed deterministically, allowing developers to analyze the exact sequence of events leading to undesired behaviors without interfering with the original execution. This copying approach enables precise root cause identification by examining the replicated execution path.

Inventive Principle:
Principle #26Copying

2Measurement precision

If replayable execution traces are analyzed to identify root causes, then precision of fault identification is improved, but considerable computing resources are consumed due to the vast amount of trace data generated

Engineering Contradiction:
Improveprecision of fault identificationVSAvoidcomputing resources
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The system extracts only the essential information needed for root cause analysis from the complete execution traces. Instead of analyzing every single instruction and data operation, the system identifies and extracts key events, state changes, and control flow transitions that are relevant to undesired behaviors. This extraction process reduces the volume of data requiring computational analysis while preserving the information necessary for precise fault identification.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system segments the execution trace analysis into manageable components by dividing the trace data into distinct phases or regions of interest. The trace analyzer processes different segments independently, focusing computational resources on specific time periods or execution paths that are more likely to contain the root cause. This segmentation approach reduces overall computational requirements by avoiding redundant analysis of entire trace datasets.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If complete execution traces are analyzed to ensure accurate root cause identification, then measurement precision is improved, but device complexity increases due to the need for comprehensive tracing infrastructure

Engineering Contradiction:
Improveaccuracy of root cause identificationVSAvoidcomplexity of tracing infrastructure
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The trace recording infrastructure is designed to be universal and multi-functional, serving multiple purposes beyond just root cause analysis. The same tracing mechanism supports various analysis modes including forward execution analysis, backward execution analysis, and selective replay of specific execution paths. This universality reduces device complexity by consolidating multiple specialized tools into a single integrated system that can adapt to different analysis needs without requiring separate infrastructure components.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS12619518B2Automated root cause identification using data flow analysis of plural execution traces
Publication Date: 2026.05.05 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12619518B2 patent drawing
  • US12619518B2 patent drawing
  • US12619518B2 patent drawing

AI summary

Automated root cause identification using data flow analysis of plural execution traces. A computer system generates data flow dependency graphs from first and second execution traces an entity. These graphs represent input/output data flows of corresponding executions of the entity. The computer system generates topological sortings of those graphs and identifies output pairings across these graphs based on outputs having common labels and topological correspondence. The computer system identifies output pairing(s) that are mismatched as having different values and, for at least one mismatched output pairing, traverses the graphs in order to identify input pairing(s) that are topological root(s) to the mismatched output pairing(s) and that are causal to the mismatch(es). Each input pairing comprises inputs that have a common label, a common topological correspondence, and mismatched values. The computer system returns these input pairings as a root cause for at least one difference between first and second execution traces.