Procedure Call Stack Visualization Using 2D Shapes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The complexity of computer programs generates vast amounts of data, making it difficult for users to digest and analyze program transaction data effectively, as existing visualization methods often overwhelm users with excessive information.
Innovation Solution
A system that visualizes computer program transactions by generating a graphical representation of procedure call stacks and self-times using two-dimensional shapes aligned with axes, allowing users to understand the hierarchy and timing of procedure calls, along with event indicators and log entries, to provide a meaningful and digestible view of transaction data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If detailed program transaction data is visualized using traditional methods, then complete information is provided, but users are overwhelmed by excessive information
Solution Approach 1:
The patent segments program transaction data into hierarchical groups based on procedure call relationships. The visualization divides the call stack into parent procedures and child procedures, with each level representing a manageable subset of transactions. This segmentation allows users to understand data in organized chunks rather than being overwhelmed by the complete flat list of all transactions.
Solution Approach 2:
The patent introduces a hierarchical dimension to the visualization by organizing transactions into multiple levels of procedure calls. Instead of presenting all transactions in a single dimension, the system creates a tree-like structure where users can navigate through parent-child relationships, adding a temporal and structural dimension to the data presentation.
2Measurement precision
If comprehensive program execution data is collected and presented, then analysis accuracy is improved, but data complexity increases making it difficult to digest
Solution Approach 1:
The patent segments comprehensive program execution data into hierarchical groups based on procedure call relationships. By dividing the call stack into parent procedures and child procedures, the system maintains complete transaction information while organizing it into manageable segments that reduce perceived complexity.
Solution Approach 2:
The patent implements a nested structure where child procedure transactions are nested within parent procedure transactions. This nesting allows the system to preserve complete execution data while organizing it in a compact hierarchical format, where each level contains relevant subsets of the data from the previous level.
3Measurement precision
If detailed timing information for all procedure calls is displayed, then performance analysis precision is improved, but information overload occurs
Solution Approach 1:
The patent extracts timing information from the complete transaction data and presents it separately as performance metrics. By pulling out timing data and displaying it in dedicated visual elements rather than mixing it with all other transaction details, the system maintains precise timing measurements while reducing the overall information density that users must process.
Solution Approach 2:
The patent applies local quality by providing detailed timing information only where relevant to the user's current focus. The hierarchical visualization allows users to drill down into specific procedure calls to see detailed timing metrics, while other areas show summarized information, ensuring precise timing data is available without overwhelming the entire interface.
Data Source
AI summary
Examples disclosed herein relate to visualizations of computer program transactions. The examples enable obtaining a transaction record of a computer program. The transaction record may include a call stack of a plurality of procedure calls and a self-time of each procedure call. The examples enable generating a graphical representation of the transaction record having a plurality of two-dimensional shapes aligned with a first axis and a second axis. Each two-dimensional shape represents a procedure call, and a first dimension of each shape represents a call-time of each procedure call while a second dimension of each shape represents the self-time of each procedure call. The shapes are positioned in the graphical representation to reflect relative positions within the call stack.


