Skip to content
Jens Meinicke edited this page May 22, 2015 · 3 revisions

VarexJ uses conditional values for any data stored in the interpreter. Thus, VarexJ does not need to clone the complete memory, in contrast JPF. I.e. we always have a mapping from a value to the corresponding context (i.e., a feature selection).

VarexJ currently supports two ways to represent conditional values, as tree and as map.

Tree Choice: here the values are stored in the leafs of the tree. Each node defines a context, while its left branch represents the sub tree where the context is fulfilled, and the right branch values where the context is not.

Map Choice: here we have a direct mapping from a context to a concrete value. Thus, all concrete values are only contained once.

You should use tree choices if you expect only small interactions because the effort to calculate with the tree is much smaller than for the map choice. However, because map choices only contain each value only once, this implementation scales much better to higher interactions.

Usage [TreeChoice, MapChoice]: +choice=TreeChoice

Clone this wiki locally