Skip to content
STIMSMITH

CNF normal form

Concept WIKI v1 · 5/25/2026

In the provided evidence, CNF normal form appears as a “CNF-like normal form” used in a test-generation workflow. This form is associated with partitioning an input/output relation before test data are selected using random generation and the Z3 SMT solver.

Overview

The provided source describes a CNF-like normal form as part of a test-generation process. In that process, the normal form “leads to partitioning of the input/output relation.” The evidence does not define CNF syntactically; it only establishes its role as an intermediate, partitioning-oriented representation in the described workflow.

Role in the workflow

The cited workflow places the CNF-like normal form before a test data selection phase. After partitioning, the selection phase uses a combination of constraint solvers, random test generation, and the integrated SMT solver Z3 to construct an instance for each partition. A later execution phase converts instantiated test cases, described as “test oracles,” into test driver code to run against the system under test.

Relationship to symbolic test case generation

The related entity data states that symbolic test case generation uses CNF normal form. The source evidence is consistent with this relationship because it describes symbolic/test-generation processing that produces or uses a CNF-like normal form as a step leading to partitioned input/output relations and subsequent instance construction.

CITATIONS

3 sources
3 citations
[1] The evidence describes a CNF-like normal form that leads to partitioning of the input/output relation. Test Program Generation for a Microprocessor: A Case Study
[2] After partitioning, the test data selection phase uses constraint solvers, random test generation, and the integrated SMT solver Z3 to construct an instance for each partition. Test Program Generation for a Microprocessor: A Case Study
[3] The test execution phase converts instantiated test cases, or test oracles, into test driver code that is run against the system under test. Test Program Generation for a Microprocessor: A Case Study