Skip to content

Symbolic Fields Configuration

Kasper Luckow edited this page Dec 16, 2015 · 1 revision

Config key prefix: <prefix>.symbolic, e.g., jdart.configs.sample.symbolic

Without any additional configuration, only named parameters of the targeted concolic method (and this, in case it is an instance method) are treated symbolically. In order to also treat class and instance fields symbolically, the symbolic configuration has to be adjusted.

Please note that treating an object symbolically merely means to check if its fields should be treated symbolically rather than automatically treating all of its fields symbolically right away.

  • statics (;-separated list of class names): classes whose static fields to treat symbolically. In this case, the class is treated as an object, i.e., the static fields to be made symbolic have to be explicitly included (see below).
  • include (;-separated list of patterns): patterns specifying fields that should be treated symbolically. For example, specifying this.* here treats all fields of the instance corresponding to the method invocation symbolically. sample.Foo.* makes all fields (which are not static final, as this is usually used to specify constants) of the class sample.Foo symbolic - if it has been listed in statics (see above).
  • exclude (;-separated list of patterns): similar to include, but with the opposite effect. If a potentially symbolic variable matches one of the patterns, it is not treated symbolically. This overrides anything specified under include.
Clone this wiki locally