Bounded Liveness Verification Scalability via Counterexample Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Bounded liveness checking in logic design is inefficient due to the need for significant computational resources and the challenge of determining a minimal passing bound, often resulting in impractically large values that require extensive verification efforts, and the risk of verifying larger bounds than necessary, leading to computational resource degradation.

Innovation Solution

A method that analyzes and manipulates bounded liveness counterexamples to more likely exhibit counterexamples to deeper bounds, accelerating the falsification of liveness properties and quickly converging to a minimal passing bound by iteratively checking fewer irrelevant bounds, using algorithms like the Improved Bounded Livelock Synthesis Algorithm to optimize fairness and reduce computational requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If bounded liveness verification is performed with larger bounds to ensure completeness, then verification thoroughness is improved, but computational resource consumption increases significantly

Engineering Contradiction:
Improveverification thoroughnessVSAvoidcomputational resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the verification process into iterative phases, where each phase verifies a specific bound increment. Instead of verifying all bounds simultaneously, the method divides the verification into manageable segments that can be processed sequentially, reducing the computational burden on any single verification pass while maintaining overall thoroughness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary analysis of counterexample traces to identify patterns and characteristics before conducting full verification. By analyzing the structure and properties of counterexamples in advance, the method can optimize the verification process and avoid unnecessary computational work on bounds that are unlikely to yield meaningful results.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If larger bounds are used in bounded liveness checking, then the completeness of verification is improved, but the time required for verification increases

Engineering Contradiction:
Improvecompleteness of verificationVSAvoidverification time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements dynamic bound selection that adapts to the specific characteristics of the counterexample traces being analyzed. Rather than using fixed or uniformly increasing bounds, the method dynamically adjusts verification bounds based on observed patterns in the traces, allowing the verification process to focus computational effort on the most relevant bound ranges and skip unnecessary verification of larger bounds when patterns indicate futility.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent employs lightweight, disposable verification artifacts that can be quickly created and discarded. Counterexample traces are processed as temporary objects that are analyzed for patterns and then discarded, rather than being preserved for exhaustive verification. This approach allows rapid iteration through multiple bound values without the overhead of maintaining complex verification state across all bounds simultaneously.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Measurement precision

If iterative verification is performed to find minimal passing bound, then precision of verification result is improved, but number of verification iterations increases

Engineering Contradiction:
Improveprecision of verification resultVSAvoidnumber of verification iterations
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent implements feedback mechanisms that use results from each verification iteration to inform subsequent iterations. By analyzing verification outcomes and counterexample patterns from previous iterations, the method adjusts its approach for future iterations, avoiding redundant verification of the same bound ranges and converging more quickly to the minimal passing bound.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent changes verification parameters such as bound values and fairness constraints based on observations from previous iterations. Rather than systematically testing every possible bound value, the method adapts its parameter selection based on patterns observed in counterexamples, allowing it to skip over bound ranges that are unlikely to contain the minimal passing bound and focus on more promising regions.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10474777B2Scalable liveness verification
Publication Date: 2019.11.12 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10474777B2 patent drawing
  • US10474777B2 patent drawing
  • US10474777B2 patent drawing

AI summary

A computer implemented method for increasing scalability in bounded liveness verification includes receiving, by one or more processors, a counterexample trace showing a bounded liveness failure and a set of parameters associated with the counterexample trace, partitioning the counterexample trace into segments representing bound increments contributing to the bounded liveness failure, selecting, by one or more processors, a time interval during which to repeat input values, wherein the selected time interval correlates to one or more segments, evaluating, by one or more processors, the received counterexample after repeating the selected time interval, determining, by one or more processors, whether the evaluation indicates that the counterexample falsifies a deeper bound with respect to a bound or an unbounded liveness counterexample, and, responsive to determining the evaluation indicates that the counterexample falsifies a deeper bound, providing, by one or more processors, counterexample falsification results.