Reusing UNSAT Cores in Bounded Model Checking
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If SAT solvers are used to determine satisfiability of bounded models, then verification completeness is improved, but execution time increases
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.
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.
3Reliability
If model checking is performed at multiple bounds to ensure verification coverage, then verification thoroughness is improved, but computational complexity increases
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.
4Reliability
If UNSAT cores are recomputed for each bound verification, then verification accuracy is maintained, but resource efficiency decreases
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.
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.
Data Source
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.


