Reusing UNSAT Cores in Bounded Model Checking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current bounded model checking methods are inefficient due to redundant computation in proof-based approaches, particularly when using SAT solvers, which can be resource-intensive and time-consuming, especially when dealing with large models and unbounded cycles.

Innovation Solution

The method reuses an UNSAT core provided by the SAT solver to minimize redundant computations by identifying stable signals that justify unsatisfiability across long cycle ranges, allowing for incremental model refinement and verification without recalculating the UNSAT core unless the model is substantially modified.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If proof-based bounded model checking is used to verify specification properties, then verification accuracy is improved, but computational overhead and resource usage increase significantly

Engineering Contradiction:
Improveverification accuracyVSAvoidcomputational overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent performs preliminary actions by computing and storing UNSAT cores during initial model checking at specific bounds. These pre-computed UNSAT cores are then reused in subsequent verification tasks at different bounds, avoiding redundant computation. The system proactively prepares verification evidence (UNSAT cores) that can be leveraged later, transforming a computationally expensive repeated process into an efficient reuse-based approach.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the parameter of bound values systematically. It performs model checking at specific bounds (e.g., bound 5, bound 10) and uses the UNSAT cores from these specific parameter points to verify properties at intermediate bounds. This parameter change strategy allows the system to verify specification properties at multiple bounds without re-computing from scratch, reducing computational overhead while maintaining verification accuracy.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If SAT solvers are used to determine satisfiability of bounded models, then verification completeness is improved, but execution time increases

Engineering Contradiction:
Improveverification completenessVSAvoidexecution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent discards redundant computation by storing UNSAT cores from previous SAT solver executions and recovering useful verification information from them. Instead of discarding the results of expensive SAT solver runs, the system recovers and reuses the UNSAT cores as proof evidence for verification at different bounds, transforming a time-consuming repeated process into an efficient reuse-based approach.

Inventive Principle:
Principle #34Discarding and recovering

Solution Approach 2:

The patent creates copies of verification evidence (UNSAT cores) from one bound and uses them to verify properties at different bounds. The UNSAT core computed at bound K is copied and applied to verify specification properties at bounds greater than or equal to K, eliminating the need to re-run SAT solvers and significantly reducing execution time while maintaining verification completeness.

Inventive Principle:
Principle #26Copying

3Reliability

If model checking is performed at multiple bounds to ensure verification coverage, then verification thoroughness is improved, but computational complexity increases

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

Solution Approach 1:

The patent makes the UNSAT core universal by designing it to serve multiple verification purposes across different bounds. A single UNSAT core computed at bound K can be used to verify specification properties at any bound greater than or equal to K, making the verification evidence multi-functional. This universality reduces computational complexity by eliminating redundant SAT solver executions while maintaining thorough verification coverage across multiple bounds.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Reliability

If UNSAT cores are recomputed for each bound verification, then verification accuracy is maintained, but resource efficiency decreases

Engineering Contradiction:
Improveverification accuracyVSAvoidverification efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary computation of UNSAT cores at specific bounds and stores them for future use. This preliminary action ensures verification accuracy is maintained while dramatically improving productivity. The pre-computed UNSAT cores serve as reusable verification evidence, eliminating the need to recompute them for each bound and thus maintaining accuracy without sacrificing efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the bound parameter systematically, performing model checking at specific bounds and using the resulting UNSAT cores to verify properties at other bounds. This parameter change approach maintains verification accuracy across different bounds while improving productivity by avoiding redundant computations. The system strategically selects bounds for UNSAT core computation and reuses them appropriately.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8397192B2Proof based bounded model checking
Publication Date: 2013.03.12 GLOBALFOUNDRIES US INC
  • US8397192B2 patent drawing
  • US8397192B2 patent drawing
  • US8397192B2 patent drawing

AI summary

An UNSAT core may be reused during iterations of a bounded model checking process. When increasing the bound, signals corresponding to signals within the UNSAT core may be used to represent the functionality of the model during cycles between the original bound and the increased bound. In case, consecutive unsatisfiability is determined in respect to different bounds, the same UNSAT core may be reused instead of computing a new UNSAT core.