Probabilistic Assertion Verification via Bayesian Network IR

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional assertions are inadequate for verifying probabilistic program properties, which are essential in applications involving statistical or probability-related distributions, such as machine learning and big data, as they do not properly express the correctness of variables selected from probability distributions.

Innovation Solution

A system and method for specifying and evaluating probabilistic assertions by transforming a program and input into an intermediate representation, such as a Bayesian network, allowing for efficient verification through statistical simplification and hypothesis testing, enabling the verification of probabilistic program properties.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional assertions are used to verify program properties, then verification simplicity is maintained, but the ability to verify probabilistic program properties is lost

Engineering Contradiction:
Improveverification capability for probabilistic propertiesVSAvoidverification system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediate representation (IR) as a mediator between the probabilistic program and the verification process. The IR captures probabilistic semantics in a structured form that enables verification while abstracting away the complexity of direct probabilistic analysis. This intermediary layer allows traditional verification techniques to be extended to handle probabilistic properties without requiring complete redesign of the verification system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent transforms the verification problem by changing parameters from deterministic to probabilistic. Instead of verifying boolean conditions that must always hold, the system verifies probabilistic assertions that hold with a certain probability threshold. This parameter change enables the verification of probabilistic program properties while maintaining a familiar assertion-based interface for users.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If probabilistic assertions are implemented to verify probabilistic properties, then verification accuracy is improved, but implementation complexity increases

Engineering Contradiction:
Improveprobabilistic property verification accuracyVSAvoidimplementation ease
Core Design Contradiction:
Measurement precisionVSEase of manufacture

Solution Approach 1:

The patent segments the verification process into distinct phases: program transformation to intermediate representation, probabilistic assertion compilation, and verification execution. Each phase handles specific aspects of probabilistic verification independently, making the overall complex process more manageable and easier to implement. The segmentation allows teams to work on different components separately while maintaining integration through standardized interfaces.

Inventive Principle:
Principle #1Segmentation

3Productivity

If sampling-based verification is used for probabilistic assertions, then verification speed is improved, but verification precision may be reduced

Engineering Contradiction:
Improveverification speedVSAvoidprobabilistic assertion verification precision
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent employs partial verification through sampling rather than exhaustive analysis of all possible executions. By selecting a representative subset of program executions and verifying assertions on these samples, the system achieves verification speed improvements while maintaining acceptable precision through statistical confidence intervals. This partial action approach balances speed and precision by verifying enough samples to provide meaningful guarantees without analyzing every possible execution path.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9646257B2Probabilistic assertions and verifying them
Publication Date: 2017.05.09 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9646257B2 patent drawing
  • US9646257B2 patent drawing
  • US9646257B2 patent drawing

AI summary

Various techniques for evaluating probabilistic assertions are described herein. In one example, a method includes transforming a program, a probabilistic assertion, and an input into an intermediate representation, the intermediate representation including a Bayesian network of nodes representing distributions. The method further includes verifying a probabilistic assertion in the program using the intermediate representation.