Skip to content
STIMSMITH

Constraint Solver Engine

Concept

The Constraint Solver Engine is a MicroTESK testing-framework component that helps test data generators construct test data by solving constraints specified in test situations. It is organized as a collection of solvers behind a generic interface, including universal SMT-backed solvers and custom solvers for specialized generation tasks.

First seen 6/22/2026
Last seen 6/22/2026
Evidence 5 chunks
Wiki v1

WIKI

Overview

The Constraint Solver Engine is a component of the MicroTESK testing framework. It provides test generators with a Java interface to external SMT solvers and helps test data generators construct test data by solving constraints specified in test situations. In the overall MicroTESK architecture, the testing framework includes a test template processor, a testing library, and the Constraint Solver Engine, which supplies the testing library's test generators with access to external SMT solvers. [C1]

Role in test data generation

READ FULL ARTICLE →

NEIGHBORHOOD

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

explore full graph →

RELATIONSHIPS

5 connections
MicroTESK part of → 100% 2e
The constraint solver engine is a component of MicroTESK's testing framework.
SMT Solver uses → 100% 2e
The constraint solver engine interfaces with external SMT solvers.
Java Constraint Solver API uses → 100% 1e
The constraint solver engine uses the Java Constraint Solver API to interface with SMT-LIB solvers.
SMT-LIB uses → 100% 1e
The constraint solver engine maps constraints to SMT-LIB descriptions.
Test Data Generator ← uses 100% 1e
Test data generators use the constraint solver engine to construct free variable values.

CITATIONS

6 sources
6 citations — click to expand
[1] The Constraint Solver Engine is a MicroTESK testing-framework component that provides test generators with a Java interface to external SMT solvers. MicroTESK: An Extendable Framework for
[2] A test data generator calls the Constraint Solver Engine to construct values for free variables, and generated values are used to produce control code that sets microprocessor resources to required states. MicroTESK: An Extendable Framework for
[3] The engine is implemented as a collection of solvers behind a generic interface and divides solvers into universal and custom families. MicroTESK: An Extendable Framework for
[4] Universal solvers are built around external SMT solvers such as Yices and Z3 and support rich constraint theories including Boolean algebra, arithmetic, and fixed-size bit-vector logic. MicroTESK: An Extendable Framework for
[5] MicroTESK uses the Java Constraint Solver API as a generic interface to SMT-LIB-based solvers, enabling Java constraint creation, SMT-LIB mapping, solver launch, and result transfer back to Java. MicroTESK: An Extendable Framework for
[6] Custom solvers or generators are used for test situations that are difficult to express as SMT constraints, such as floating-point arithmetic or memory management, and universal and custom solvers implement uniform interfaces for extensibility. MicroTESK: An Extendable Framework for