Application Event Classification via Call Stack Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for classifying events during application execution, such as those in web applications, are not sufficiently accurate due to variability in event content, making it difficult to provide useful performance analysis.
Innovation Solution
Classification of events is achieved by determining the entries of a call stack at execution time to generate a classification identifier, allowing events to be grouped based on logical paths within the application, thereby enabling accurate and useful event classification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If events are classified based on event content, then classification accuracy is improved, but reliability deteriorates due to variability in event content during different executions
Solution Approach 1:
The patent segments the event classification problem into two parts: using call stack entries (structural information) for reliable classification and event content (variable information) for supplementary details. The call stack is divided into individual entries that can be independently analyzed to generate classification identifiers, ensuring consistent classification across different executions while maintaining accuracy.
Solution Approach 2:
The patent introduces call stack entries as an intermediary between the application event and the classification system. Instead of directly classifying based on variable event content, the system uses the call stack (which remains consistent across executions) as a mediator to generate classification identifiers, thereby achieving both accuracy and reliability.
2Measurement precision
If event classification uses detailed content analysis, then classification accuracy is improved, but device complexity increases
Solution Approach 1:
The patent extracts only the necessary structural information (call stack entries) from the application execution context, ignoring the variable and often redundant event content. This extraction approach simplifies the classification system by focusing on the stable, discriminative features while discarding the noisy, variable content.
Solution Approach 2:
Instead of analyzing event content to determine classification (the conventional approach), the patent inverts the logic by using call stack entries to determine classification and then optionally enriching with event content. This inversion simplifies the primary classification mechanism while maintaining accuracy.
3Reliability
If call stack entries are used for classification, then reliability is improved, but loss of information occurs from excluding event content
Solution Approach 1:
The patent performs preliminary classification using call stack entries to establish a reliable classification identifier before considering event content. This preliminary action ensures consistent classification while allowing event content to be processed separately for supplementary information, minimizing information loss while maintaining reliability.
Solution Approach 2:
The patent applies different quality requirements to different parts of the classification process: high reliability is required for the classification identifier (achieved through call stack analysis), while event content is processed with lower reliability requirements since it serves as supplementary information. This local quality approach optimizes the overall system by not requiring uniform high reliability across all classification aspects.
Data Source
AI summary
A computing device includes at least one processor and a machine-readable storage medium storing instructions. The instructions may be executable by the hardware processor to, in response to a detection of an application event during execution of an application, read a plurality of entries included in a call stack at a time of the application event. The instructions are also executable to determine a classification identifier for the application event using the plurality of entries included in the call stack, and store information about the application event in a database entry associated with the classification identifier.


