Call Path Tracking Using Compression Algorithm
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data processing methods fail to efficiently determine the origin of a subroutine or function call, especially in cases of recursive calls, and require cooperation from developers or are time-consuming, leading to ambiguities in call paths.
Innovation Solution
A data processing apparatus and method that uses call path storage circuitry and processing circuitry to maintain and update a call path identifier using a compression algorithm, allowing efficient tracking of call paths and distinguishing between different recursive calls by altering and compressing the call path identifier.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the application stack is walked to determine the sequence of called functions, then the call path information is obtained, but the process is very time consuming
Solution Approach 1:
The patent applies preliminary action by pre-maintaining a call path identifier register that continuously tracks the call path as functions are called. Instead of walking the stack when information is needed, the system proactively updates the call path identifier with each function call, so the information is already prepared and immediately available when needed for debugging or analysis.
2Loss of information
If the link register is examined to determine the origin of a call, then the return address is obtained, but the information is ambiguous in recursive calls and wrapper functions
Solution Approach 1:
The patent introduces a call path identifier register as an intermediary that maintains the complete call path context. This register acts as a mediator between the complex call structure (with wrappers and recursion) and the debugging tools, providing a clear, unambiguous representation of the actual call origin without requiring interpretation of link registers or stack contents.
3Measurement precision
If an identifying handle or string is passed by all callers, then the call origin can be identified, but this requires cooperation from developers and increases code complexity
Solution Approach 1:
The patent applies self-service by implementing a call path identification system that automatically tracks and identifies call origins without requiring any modifications to the called functions or cooperation from developers. The call path identifier register is automatically updated by the processing circuitry based on the program counter, providing self-service call path tracking that works with existing code without adding complexity.
Data Source
AI summary
A data processing apparatus is provided. Call path storage circuitry stores an identifier of a call path and processing circuitry executes a current group of instructions from a plurality of groups of instructions. The processing circuitry is responsive to a calling instruction to firstly cause the processing circuitry to start executing, in dependence on the calling instruction, a next group of instructions from the plurality of groups of instructions such that the current group of instructions is added to the call path, and to secondly cause the call path storage circuitry to update the identifier of the call path, on the basis of the call path, using a compression algorithm.