Automated Policy Complexity Analysis With Optimization Feedback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing code-based policies lack tools for identifying and optimizing runtime complexity, leading to performance issues without clear causes, as even simple-looking code can have high complexity, hindering efficient execution.

Innovation Solution

A runtime complexity tool that analyzes policy code through a user interface, calculating metrics such as time, size, and count complexity, and provides suggestions for optimization based on these metrics, distinguishing between variables that iterate and those that do not.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If code is written without runtime complexity analysis tools, then code can be authored simply, but performance and execution speed deteriorate due to undetected high complexity

Engineering Contradiction:
Improveease of code authoringVSAvoidpolicy execution speed
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent applies preliminary action by performing runtime complexity analysis before policy execution. The system statically analyzes policy code to calculate complexity metrics (time, space, count) and provides optimization suggestions before the policy is executed, allowing writers to fix complexity issues in advance without changing the ease of code authoring

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback by providing complexity metrics and optimization suggestions back to policy writers. The system analyzes the policy code, calculates complexity values, and returns actionable feedback including specific suggestions for improvement, enabling writers to refine their code while maintaining simple authoring processes

Inventive Principle:
Principle #23Feedback

2Productivity

If runtime complexity analysis tools are implemented, then performance issues can be identified and optimized, but the complexity of the development process increases

Engineering Contradiction:
Improvepolicy execution speedVSAvoiddevelopment process complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies self-service by implementing automated complexity analysis that operates independently without requiring manual intervention. The system automatically parses policy code, traverses abstract syntax trees, calculates complexity metrics, and generates optimization suggestions without human involvement, thus improving execution speed without significantly increasing development process complexity

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual complexity analysis with an automated computational system. Instead of requiring policy writers to manually analyze and optimize their code (mechanical process), the system uses automated static analysis and algorithmic complexity calculation to perform the same function, reducing the perceived complexity in the development process

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Measurement precision

If complexity metrics are calculated for all variables, then accurate performance analysis is achieved, but the computational overhead and analysis time increase

Engineering Contradiction:
Improvecomplexity analysis accuracyVSAvoidanalysis time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies segmentation by dividing the complexity analysis into distinct categories: time complexity, space complexity, and count complexity. Each variable and expression is analyzed separately for each metric type, allowing the system to provide comprehensive and precise complexity measurements while organizing the analysis process efficiently to minimize overall analysis time

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12353877B1Automated asymptotic analysis
Publication Date: 2025.07.08 APPLE INC
  • US12353877B1 patent drawing
  • US12353877B1 patent drawing
  • US12353877B1 patent drawing

AI summary

Some embodiments provide a method for identifying runtime complexity of a policy. The method receives, through a user interface (UI), a set of code defining a particular policy. For each variable in the particular policy, the method identifies a first occurrence of the variable in the particular policy to determine a number of values assigned to the variable. Variables determined to be assigned one value are separated from variables determined to be assigned more than one value. Based on the determinations for each variable, the method calculates a set of metrics that include at least time complexity, size complexity, and count complexity for the particular policy. The method then displays, through the UI, the calculated set of metrics along with a set of one or more suggestions for optimizing the particular policy based on the calculated set of metrics.