Parametric Trace Slicing for Program Behavior Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Analyzing long and complex execution traces, particularly parametric traces with events and parameter bindings, is challenging due to their complexity, making it difficult to identify and process trace slices effectively.

Innovation Solution

A method for parametric trace slicing is introduced, where a program trace is traversed to identify events and create trace slices based on parameter instances, generating a table of parametric trace slices that can be accessed without re-traversing the trace, enabling monitoring, mining, and prediction of program behavior.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If execution traces are analyzed directly, then complete program behavior is captured, but analysis complexity and time increase significantly

Engineering Contradiction:
Improvetrace analysis completenessVSAvoidanalysis time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the complete execution trace into multiple trace slices based on parameter bindings. Each trace slice contains events with a specific parameter binding, allowing the large trace to be divided into smaller, more manageable units that can be analyzed independently and in parallel, reducing overall analysis time while maintaining completeness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by pre-computing and storing trace slices in a table structure before actual analysis. The trace is traversed once to identify events and create trace slices, which are then stored for efficient retrieval. This eliminates the need to re-traverse the original trace during analysis, significantly reducing analysis time for subsequent operations.

Inventive Principle:
Principle #10Preliminary action

2Loss of information

If parametric traces with parameter bindings are processed, then detailed program behavior is captured, but trace complexity increases

Engineering Contradiction:
Improveprogram behavior detailVSAvoidtrace complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent segments parametric traces by grouping events with identical parameter bindings into separate trace slices. This segmentation reduces trace complexity by organizing the detailed parametric information into structured, manageable units, each representing a specific parameter binding instance, while preserving all program behavior details.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by creating specialized trace slices for different parameter bindings, where each slice is optimized for its specific parameter context. This allows detailed program behavior to be captured locally in each slice while the overall complexity is managed through the modular slice structure, enabling targeted analysis of specific parameter instances.

Inventive Principle:
Principle #3Local quality

3Measurement precision

If trace slices are created for each parameter binding, then trace analysis precision is improved, but processing overhead increases

Engineering Contradiction:
Improvetrace slice identification accuracyVSAvoidprocessing efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent performs preliminary action by pre-computing trace slices and storing them in a table during an initial traversal of the program trace. This one-time processing effort creates a reusable structure that eliminates the need for repeated trace traversals during analysis, improving processing efficiency for subsequent operations while maintaining high trace slice identification accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates simplified copies of the original trace in the form of trace slices, each representing a specific parameter binding. These copies contain only the relevant events for that parameter binding, reducing processing overhead by eliminating unnecessary events from each slice while maintaining precise identification of trace slice boundaries and contents.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8719796B2Parametric trace slicing
Publication Date: 2014.05.06 THE BOARD OF TRUSTEES OF THE UNIV OF ILLINOIS
  • US8719796B2 patent drawing
  • US8719796B2 patent drawing
  • US8719796B2 patent drawing

AI summary

A program trace is obtained and events of the program trace are traversed. For each event identified in traversing the program trace, a trace slice of which the identified event is a part is identified based on the parameter instance of the identified event. For each trace slice of which the identified event is a part, the identified event is added to an end of a record of the trace slice. These parametric trace slices can be used in a variety of different manners, such as for monitoring, mining, and predicting.