A computer program embodied on a computer readable medium is provided for combinatorial
test generation. The computer program includes a code segment that obtains an assertion,
wherein the assertion includes a plurality of assertion variables, and a code segment
that generates a slot tree having a plurality of nodes, wherein the slot tree represents
the assertion variables of the obtained assertion. Further included is a code segment
that processes the nodes of the slot tree to generate tests for the assertion.
As above, the slot tree can comprise a plurality of leaf slot nodes that represent
the actual assertion variables, each leaf slot node including a value set for the
assertion variable that the leaf slot node represents. The slot tree can also include
a plurality of non-leaf slot nodes that are capable of referencing other nodes,
wherein the other nodes can be leaf slot nodes and non-leaf slot nodes.