Formal Verification Coverage Prioritization Using Event Hierarchies

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Formal verification tools face the state explosion problem due to the combinatorial explosion of complexity in verifying large numbers of coverage events, leading to inefficient allocation of compute resources and leaving many events unsolved.

Innovation Solution

An event hierarchy tree is constructed to prioritize formal verification based on the hit or unhittable status of event instances in previous models, optimizing the order of verification by propagating status and hints among nodes to reduce the set of events requiring verification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If formal verification is performed on all coverage events, then complete verification coverage is achieved, but computational resources are exhausted and verification efficiency deteriorates

Engineering Contradiction:
Improveverification coverageVSAvoidverification efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the set of coverage events into priority groups based on their importance and verification status. High-priority events that have not been verified are processed first, while low-priority events are deferred or skipped when resources are constrained. This segmentation allows the verification process to focus computational resources on the most critical events, maintaining reliability for essential functions while improving overall productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary analysis to determine the verification status and priority of each coverage event before executing formal verification. By pre-classifying events into priority levels and identifying which events have already been verified, the system可以避免 redundant verification work and prepares an optimized verification sequence in advance, thereby improving efficiency without compromising coverage of critical events.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If formal verification explores all possible states of the system, then verification completeness is improved, but computational complexity explodes

Engineering Contradiction:
Improveverification completenessVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by treating different coverage events with different verification depths and resource allocations based on their priority and importance. Critical events receive exhaustive verification with full state exploration, while less critical events receive simplified verification or are skipped when resources are limited. This differentiated approach maintains verification completeness for essential functions while controlling overall computational complexity.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements partial verification by selectively verifying only the most important coverage events when computational resources are constrained, rather than attempting to verify all events exhaustively. The system performs verification on a subset of high-priority events that provides sufficient confidence for critical functions, accepting that not all events will be verified in every execution context. This partial action approach prevents computational explosion while maintaining adequate verification completeness for essential system properties.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If verification prioritizes unverified events from previous models, then resource allocation efficiency is improved, but risk of missing new coverage issues increases

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidcoverage detection capability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements dynamic priority adjustment where the verification priorities of coverage events are not fixed but adapt based on the current model version and verification context. When comparing previous and current models, the system dynamically identifies which events are new, which are unchanged, and which have modified priorities. This dynamic re-evaluation ensures that resource allocation remains efficient by focusing on unverified events while simultaneously maintaining reliability by detecting new coverage issues that arise in updated models.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent incorporates feedback mechanisms where verification results from previous model versions inform the verification strategy for current versions. The system uses feedback about which events were verified, their verification status, and any coverage gaps identified to adjust verification priorities and allocate resources for the current model. This feedback loop ensures that efficient resource allocation based on historical data does not cause the system to miss new coverage issues, as the feedback continuously updates the verification strategy to account for model changes.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20260072808A1Optimized formal verification-assisted coverage analysis
Publication Date: 2026.03.12 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20260072808A1 patent drawing
  • US20260072808A1 patent drawing
  • US20260072808A1 patent drawing

AI summary

Provided are a computer implemented method, computer program product, and system for optimized formal verification-assisted coverage analysis. Priorities are derived for event instances that are subject to formal verification using formal verification results obtained from a current version of the verification model and from formal verification results obtained from a previous version of the verification model.Formal verification of event instances is performed in an order based on the derived priorities for the event instances. Formal verification is performed for a first set of event instances having a first priority before formal verification is performed for a second set of event instances having a second priority that is lower than the first priority.