Replayable Execution Trace Diffing with Hierarchical Instruction Grouping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional debugging methods struggle with identifying and locating undesired software behaviors, particularly in large-scale production systems, due to the vast amount of information generated by modern microprocessors and the difficulty in analyzing and presenting execution traces, which are too slow for efficient comparison.

Innovation Solution

The method involves diffing replayable execution traces by grouping sequences of related executable instructions and comparing them based on attributes, even if the instructions differ due to changes in binaries, compilers, or processor architectures, allowing for efficient processing of areas of particular interest.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If execution traces are compared in detail to identify undesired software behaviors, then measurement precision is improved, but productivity deteriorates due to the vast amount of information and slow comparison speed

Engineering Contradiction:
Improvetrace comparison accuracyVSAvoidcomparison speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent divides execution traces into hierarchical groups (e.g., basic blocks, functions, modules) and compares groups rather than individual instructions. This segmentation allows selective comparison of trace sections at appropriate levels of detail, improving comparison speed while maintaining accuracy for identifying undesired behaviors.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different comparison strategies to different sections of execution traces based on their importance and characteristics. Critical sections are compared in detail while less critical sections use coarser comparison methods, optimizing the balance between precision and speed.

Inventive Principle:
Principle #3Local quality

2Measurement precision

If execution traces are captured with full detail to enable accurate analysis, then measurement precision is improved, but device complexity increases due to the vast information generated

Engineering Contradiction:
Improvetrace data accuracyVSAvoidinformation processing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent organizes detailed trace information into hierarchical groups and structures, managing complexity through systematic organization. This allows full detail to be captured and stored efficiently while simplifying the analysis process through grouped comparisons.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and compares only the necessary trace sections and attributes required for identifying undesired behaviors, rather than processing all trace data uniformly. This reduction approach maintains measurement precision while reducing processing complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If instruction sequences are compared individually to detect differences, then measurement precision is improved, but productivity deteriorates due to the large number of comparisons required

Engineering Contradiction:
Improvedifference detection accuracyVSAvoidprocessing efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent groups consecutive instructions into basic blocks and further into functions and modules, comparing these larger units rather than individual instructions. This reduces the number of comparisons from potentially millions of individual instructions to a manageable number of grouped units while maintaining detection accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent combines multiple consecutive instructions into single comparison units (groups of instructions). By merging instructions that perform related functions into single comparison entities, the patent reduces comparison overhead while preserving the ability to detect behavioral differences.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP4091058B1Diffing a plurality of subject replayable execution traces against a plurality of comparison replayable execution traces
Publication Date: 2025.08.13 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP4091058B1 patent drawingFigure 1A
  • EP4091058B1 patent drawingFigure 1B
  • EP4091058B1 patent drawingFigure 2

AI summary

Diffing a plurality of subject replayable traces against a plurality comparison replayable traces includes identifying first mappings among sections of consecutive instructions recorded in the subject traces, identifying distinct subject sections within the subject traces, identifying second mappings among sections of consecutive instructions recorded in the comparison traces, and identifying a plurality of distinct comparison sections within the comparison traces. Each distinct subject section is compared against distinct comparison section(s) to determine a comparison status of each distinct subject section, including whether each distinct subject section is equal to a corresponding distinct comparison section, or different than the distinct comparison sections. The comparison status of a distinct subject section with respect a corresponding distinct comparison section is applied to each comparison section to which the distinct comparison section is mapped in the second mappings, and to each subject section to which the subject section is mapped in the first mappings.