Software Profiler Auto-Classification via Sunburst Icicle Graphs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current software profiler systems face challenges in classifying and visualizing the dynamic behavior of software programs due to the complexity of millions of data points from thousands of functions, making it difficult to simplify results and identify software system affiliations without manual intervention or code markup.
Innovation Solution
The system employs partial string matching, correlation analysis, and call stack belief propagation to classify functions into software systems, using techniques like Sunburst Icicle Graphs to visually represent function membership data, time interval frame data, and call stack profile data, allowing for auto-classification and aggregate result display without user intervention.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If software profiler systems record detailed execution data from thousands of functions, then measurement precision is improved, but device complexity increases
Solution Approach 1:
The patent segments the complex profiler system into distinct functional modules: data collection module that gathers execution information, classification module that categorizes functions into software systems, and visualization module that presents results through Sunburst Icicle Graphs. This segmentation allows each module to handle specific tasks independently, managing complexity while maintaining high measurement precision through detailed data collection.
2Loss of information
If the system classifies millions of data points from thousands of functions, then information completeness is improved, but difficulty of detecting and measuring increases
Solution Approach 1:
The patent introduces an intermediary classification mechanism that uses belief propagation through call stacks to categorize functions into software systems. Instead of directly analyzing millions of raw data points, the system uses intermediate representations (classification scores, belief values) to bridge the gap between raw execution data and meaningful software system identification, reducing the difficulty of detecting and measuring function affiliations.
3Measurement precision
If manual intervention or code markup is required for classification, then classification accuracy is improved, but ease of operation deteriorates
Solution Approach 1:
The patent implements a self-service classification system that automatically categorizes functions into software systems without requiring manual intervention or code markup. The system uses self-propagating belief mechanisms where classified functions help classify neighboring functions in the call stack, enabling the profiler to autonomously achieve accurate classification results while maintaining ease of operation.
Data Source
AI summary
Methods for classifying functions as belonging to a particular software system is disclosed. Various embodiments are also described that use and display the result of the function classification in various ways, regardless of whether the information was generated by any particular of the described methods. One example graph combines function membership data, time interval frame data, and call stack profile data in the form of an Icicle Graph. The Icicle Graph is then distorted into a Sunburst Graph, resulting in an overall Software System Sunburst Icicle Graph.


