Application Resource Analysis Using Call-Path Signatures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems struggle to effectively analyze and diagnose resource usage by applications on electronic devices, particularly in identifying regressions and inefficiencies across different versions, due to variations in call-stack signatures caused by compiler name mangling and minor refactoring.

Innovation Solution

A system that analyzes diagnostic data from electronic devices to categorize resource usage based on call-paths, application names, and version identifiers, using semantic and fuzzy matching to mitigate the effects of compiler name mangling and refactoring, thereby generating insights for users to diagnose and correct regressions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional resource usage analysis is performed without semantic matching, then analysis simplicity is maintained, but measurement precision deteriorates due to compiler name mangling and refactoring variations

Engineering Contradiction:
Improveresource usage categorization accuracyVSAvoidanalysis system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces call-path signatures as an intermediary representation that abstracts away compiler-specific name mangling and refactoring variations. Instead of directly comparing raw function names which vary across compilations, the system translates call-stacks into standardized signatures that preserve the semantic meaning of resource usage patterns while eliminating noise from implementation details.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system transforms the analysis approach by changing the parameters used for comparison. Rather than comparing original function names (which are sensitive to compiler variations), the patent applies semantic matching that compares the structural and semantic parameters of call-paths, such as function relationships, parameter types, and control flow patterns, making the analysis robust to name changes.

Inventive Principle:
Principle #35Parameter changes

2Difficulty of detecting and measuring

If detailed call-stack analysis is performed to identify specific resource usage portions, then diagnostic capability is improved, but difficulty of detecting and measuring increases due to compiler variations

Engineering Contradiction:
Improvecall-path identification difficultyVSAvoidregression identification reliability
Core Design Contradiction:
Difficulty of detecting and measuringVSReliability

Solution Approach 1:

The patent creates simplified copies of call-stack information in the form of call-path signatures. These signatures are abstracted representations that capture the essential structure and semantics of resource usage patterns without containing the full complexity of original function names and compiler-specific details, making them easier to compare and analyze reliably.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

Call-path signatures serve as an intermediary layer between raw call-stack data and analysis results. This intermediary representation standardizes the data format and semantics, enabling reliable detection and measurement of resource usage patterns across different compiler versions and refactoring scenarios.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of information

If resource usage is categorized by application version identifiers, then regression detection capability is improved, but loss of information increases due to aggregation across versions

Engineering Contradiction:
Improveversion-specific detail lossVSAvoidregression identification efficiency
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent segments resource usage data by both application version identifiers and call-path signatures. This segmentation allows the system to maintain detailed version-specific information for each signature while also enabling efficient comparison across versions. The segmented structure prevents information loss by organizing data in a way that preserves granularity while facilitating aggregate analysis.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system adds an additional dimension to the data organization by introducing call-path signatures as a new categorization axis alongside version identifiers. This dimensional expansion allows simultaneous preservation of version-specific details and enabling of cross-version comparisons, as each signature-version combination can be independently analyzed while contributing to overall regression detection.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS12530274B2Systems and techniques for analyzing resource usage by applications of an electronic device
Publication Date: 2026.01.20 APPLE INC
  • US12530274B2 patent drawing
  • US12530274B2 patent drawing
  • US12530274B2 patent drawing

AI summary

In an example method, a system receives diagnostic data from a plurality of electronic devices, the diagnostic data representing resource usage by applications on the plurality of electronic devices, application names associated with the applications, application version identifiers associated with the applications, and call-stacks associated with the resource usage by the applications. The system categorizes the resource usage based on the application names, the application version identifiers, and the call-stacks, including determining signatures based on the call-stacks, and categorizing the resource usage based on the signatures, the application names, and the application version identifiers. Further, the system generates a data set representing the categorization of the resource usage.