Parametric Trace Slicing for Program Behavior Analysis
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Measurement precision
If execution traces are analyzed directly, then complete program behavior is captured, but analysis complexity and time increase significantly
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.
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.
2Loss of information
If parametric traces with parameter bindings are processed, then detailed program behavior is captured, but trace complexity increases
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.
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.
3Measurement precision
If trace slices are created for each parameter binding, then trace analysis precision is improved, but processing overhead increases
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.
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.
Data Source
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.


