Skip to content
STIMSMITH

Constraint Satisfaction Problem

Concept

A Constraint Satisfaction Problem (CSP) is a formal computational framework defined as a triple of variables, domains, and constraints restricting the simultaneous values those variables can take. The supplied evidence describes classical finite-domain CSP solving (domain reduction via arc-consistency followed by a labeling phase) and the application of CSP formulations and solution techniques to random stimuli and test program generation for hardware verification, including the development of a dedicated solver (STCS) and the use of related techniques such as random solution generation, conditional CSP pruning, dynamic CSPs, and constraint hierarchies.

First seen 5/26/2026
Last seen 6/5/2026
Evidence 9 chunks
Wiki v2

WIKI

Overview

In the supplied evidence, a Constraint Satisfaction Problem (CSP) is defined as a triple ⟨X, D, C⟩, where X is a set of variables, D is a set of domains (one finite set of possible values per variable), and C is a set of constraints that restrict the values the variables can simultaneously take. A constraint is described as a logical relationship among several unknowns (variables), each of which takes a value in a given domain, and a constraint thus restricts the possible values that the variables can take.[csp-definition]

The same evidence notes that Constraint Programming has been applied successfully to problem-solving and combinatorial-optimization applications by combining the declarativity of a high-level language with the efficiency of specialized algorithms for constraint solving, sometimes borrowing techniques from Operational Research and Numerical Analysis. The paradigm of Constraint Logic Programming is cited as the basis for one of the surveyed works.[csp-paradigm]

READ FULL ARTICLE →

NEIGHBORHOOD

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

explore full graph →

RELATIONSHIPS

10 connections
Constraint-based random stimuli generation relies on CSP to formulate and solve the constraints.
The paper frames test generation as a constraint satisfaction problem.
The paper discusses using CSP formulations for random test program generation.
Genesys PE ← uses 100% 2e
Genesys PE uses CSP as its core solution technology for test generation.
STCS ← implements 90% 1e
STCS implements a constraint satisfaction problem solver
The paper mentions CSP as a technique used in related work for constraint-based test generation.
code-based test generation ← uses 100% 1e
Code-based test generation formulates test vector generation as a constraint satisfaction problem.
X-Gen ← uses 100% 1e
X-Gen uses the same CSP solver as Genesys PE.
Soft Constraints ← part of 100% 1e
The CSPs arising in stimuli generation include soft constraints for expert knowledge.
Constraint Hierarchy ← part of 100% 1e
Constraint hierarchies are used within the CSP framework to prioritize soft constraints.

CITATIONS

15 sources
15 citations — click to expand
[1] A CSP is defined as a triple ⟨X, D, C⟩ of variables, domains, and constraints. TACAS 2003 paper on STCS (Baray, Michel)
[2] Constraint Programming has been applied successfully to problem-solving and combinatorial optimization, with Constraint Logic Programming as the underlying paradigm. TACAS 2003 paper on STCS (Baray, Michel)
[3] Classical CSP solving uses finite domains and arc-consistency techniques, with a two-phase process of domain reduction via local propagation and a labeling phase with variable- and value-ordering heuristics. TACAS 2003 paper on STCS (Baray, Michel)
[4] GNU Prolog's limitations on hardware-description constraints (typed bit-size variables, casting information loss, bit-manipulation, large arrays) motivated the dedicated STCS solver. TACAS 2003 paper on STCS (Baray, Michel)
[5] STCS introduces specific constraints (logical and, logical shift, bit concatenation, bit extraction) and uses dual interval and bit-vector domain representations with coherence rules. TACAS 2003 paper on STCS (Baray, Michel)
[6] STCS was developed as a general library reusable in other domains and applications. TACAS 2003 paper on STCS (Baray, Michel)
[7] CSP techniques are used in random stimuli generation for hardware verification at IBM, with ongoing exploration of more sophisticated CSP and knowledge-representation techniques. AAAI 2006 paper on IBM random stimuli generation
[8] CSP formulations and solution techniques were used in random test-program generation, as cited from IBM Systems Journal 41(3):386–402. AAAI 2006 paper on IBM random stimuli generation
[9] Dechter, Kask, Bin, and Emek authored work on generating random solutions for constraint satisfaction problems. AAAI 2006 paper on IBM random stimuli generation
[10] Geller and Veksler authored work on assumption-based pruning in conditional CSP. AAAI 2006 paper on IBM random stimuli generation
[11] Mittal and Falkenhainer authored work on dynamic constraint satisfaction problems. AAAI 2006 paper on IBM random stimuli generation
[12] Borning, Freeman-Benson, and Willson authored work on constraint hierarchies. AAAI 2006 paper on IBM random stimuli generation
[13] Mackworth authored 'Consistency in Networks of Relations', a foundational CSP topic. AAAI 2006 paper on IBM random stimuli generation
[14] Naveh authored a stochastic solver for CSPs with learning of high-level characteristics of the problem topography. AAAI 2006 paper on IBM random stimuli generation
[15] The IBM hardware-verification environment involved separate knowledge-engineer and tool-developer systems, monthly release synchronization, geographically distributed teams, and a unified defects database with weekly phone conferences. AAAI 2006 paper on IBM random stimuli generation