Input SUT formats
We describe the input SUT formats suppoted by all the MCAC algorithms in CTLog.
ACTS format
The ACTS format is the format defined by the ACTS tool. In the ACTS format we can define the name of the parameter, its type (int, enum or bool) and, for emph{enums}, the name of the parameter’s values.
Regarding SUT constraints, ACTS allows the usage of implications, conjunctions and disjunctions to define a constraint. SUT constraints are defined as the conjunction of each of the defined constraints. All the symbols that appear in the SUT constraints must refer to some defined parameter and value. In CTLog we limit the SUT constraints to Conjunctive Normal Form (CNF), although in future release we might also add support for the rest of the ACTS specification for SUT constraints.
At the moment CTLog does not support the additional features of the ACTS format, such as support for mixed interaction strength (where the user can specify different strengths for different subsets of parameters).
We show an example of a SUT defined in the ACTS format supported by CTLog:
[System]
Name: DefaultName
[Parameter]
OS (enum) : L,W,M,i,A
Pl (enum) : F,S,C,A
Re (enum) : K,F,H,W
Or (enum) : P,L
[Constraint]
C1: (OS != L || Or = L)
C2: (OS != L || Pl != A)
C3: (OS != W || Or = L)
C4: (OS != W || Pl != A)
C5: (OS != M || Or = L)
C6: (OS != M || Pl != A)
C7: (Pl != S || OS = M || OS = i)
C8: (OS != i || Re != K)
C9: (OS != A || Re != K)
Extended ACTS format
The Extended ACTS format is an extension over the ACTS format where auxiliary variables can be also defined.
This format adds the [Auxiliar]
section, where auxiliary variables can be declared using the same syntax as in the [Parameter]
section.
Then, these auxiliary variables can be used in the [Constraint]
section, as shown in the following example:
[System]
Name: DefaultName
[Parameter]
P1 (enum): a,b,c,d
...
[Auxiliar]
A1 (enum): T,F
...
[Constraint]
C1: (A1 = T) => (P1 != a)
...
Note
Notice that auxiliary variables are useful to define more complex constraints, and they will not be part of the test suite.