Skip to content
STIMSMITH

SAT/SMT-based constraint solving

Technique

SAT/SMT-based constraint solving is an automated technique that uses Boolean satisfiability (SAT) and satisfiability modulo theories (SMT) solvers to determine the satisfiability of logical constraints and to produce concrete solutions. In the context of SystemC verification, CRAVE integrates SAT/SMT-based techniques alongside BDD-based methods in a parallel portfolio approach to accelerate constrained random stimuli generation.

First seen 9/27/2026
Last seen 9/27/2026
Evidence 1 chunks
Wiki v1

WIKI

SAT/SMT-based constraint solving

Overview

SAT/SMT-based constraint solving is an automated reasoning technique that uses SAT (Boolean Satisfiability) and SMT (Satisfiability Modulo Theories) solvers to check whether a set of logical constraints is satisfiable and, when satisfiable, to extract concrete solution assignments. SMT generalizes SAT by supporting richer theories such as bit-vectors, integers, arrays, and linear arithmetic, making it well suited to constraints arising from hardware and software models.

READ FULL ARTICLE →

NEIGHBORHOOD

No graph connections found for this entity yet. It may appear in future ingestion runs.

explore full graph →

RELATIONSHIPS

1 connections
CRAVE ← uses 95% 1e
SAT/SMT-based techniques are integrated in CRAVE’s constraint solving, showing use of these methods.

CITATIONS

4 sources
4 citations — click to collapse
[1] SAT/SMT-based techniques have been integrated for constraint-solving in CRAVE. CRAVE — Institute for Complex Systems, JKU
[2] A portfolio approach combining BDD-based and SAT/SMT-based techniques is used in CRAVE to enable very fast generation of constraint solutions. CRAVE — Institute for Complex Systems, JKU
[3] CRAVE is a library for constrained random stimuli generation whose syntax is designed to naturally fit with C++ and SystemC. CRAVE — Institute for Complex Systems, JKU
[4] CRAVE supports dynamic constraints and inline constraints that can be formulated and changed incrementally at run-time, including for dynamic data structures such as STL vectors. CRAVE — Institute for Complex Systems, JKU