Shadow SMT Solvers for Cloud Policy Verification Accuracy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Satisfiability modulo theories (SMT) solvers in cloud provider networks face challenges in verifying correctness and comparing performance across different solvers, leading to potential inaccuracies and inefficiencies in policy analysis and resource management.

Innovation Solution

Deploying 'shadow' SMT solver systems alongside primary solvers to run experiments and assess accuracy and performance by comparing results from multiple solvers, including different portfolios and versions, ensuring accurate and efficient policy evaluations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single primary SMT solver system is used for policy analysis, then the system operation is simple and fast, but the accuracy and reliability of policy verification cannot be ensured

Engineering Contradiction:
Improveaccuracy of policy verificationVSAvoidsystem structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates shadow copies of SMT solver systems that replicate the primary solver's structure and behavior. These shadow solvers process the same policy analysis queries and their results are compared against the primary solver's outputs to detect inaccuracies, thereby improving verification reliability without requiring multiple different solver types

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The shadow SMT solver systems provide feedback by comparing their results with the primary solver's results. When discrepancies are detected, the system can alert operators or automatically adjust the policy analysis process, creating a feedback loop that improves the overall reliability of policy verification

Inventive Principle:
Principle #23Feedback

2Measurement precision

If multiple SMT solver systems are deployed to compare results, then the accuracy and performance assessment improve, but the computational time and resource consumption increase

Engineering Contradiction:
Improveperformance measurement accuracyVSAvoidcomputational time for policy analysis
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system employs shadow solvers that perform partial computations by focusing only on the differences or uncertainties in policy analysis results. Rather than completely independent full computations, the shadow solvers target specific verification tasks that would catch errors in the primary solver, reducing overall computational time while maintaining measurement precision

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The shadow SMT solver systems are configured to perform preliminary verification tasks before final policy analysis conclusions are drawn. By pre-checking results against shadow solvers, the system can identify and correct potential errors early in the process, reducing the need for time-consuming reanalysis

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20240330709A1Shadow satisfiability modulo theories solver systems
Publication Date: 2024.10.03 AMAZON TECH INC
  • US20240330709A1 patent drawing
  • US20240330709A1 patent drawing
  • US20240330709A1 patent drawing

AI summary

Techniques are described for executing satisfiability modulo theories (SMT) solvers in a “shadow” system configuration where input queries are provided to a primary SMT solver system and additionally to one or more secondary SMT solver systems. SMT solver systems can be used by cloud providers and in other computing environments to analyze the implications of configured user account policies defining permissions with respect to users' computing resources and associated actions within a computing environment, to help ensure the security of computing resources and user data, etc. The results generated by a primary SMT solver system can be provided to one or more secondary SMT solver systems, where each of the secondary SMT systems can comprise different system components or different versions of system components, to assess the correctness of the primary SMT solver system, to compare performance metrics, among other possible types of analyses.