Ochiai algorithm

### Program Information

Name: Ochiai algorithm
Domain: Algorithm
Functionality: Ochiai algorithm
Input:
Output:

#### Reference

Testing Approach for Dynamic Web Applications Based on Automated Test Strategies https://doi.org/10.1007/978-3-319-03095-1_43

### MR Information

#### MR1------Consistence with Affine Transformation.

Description:
Property: The result should be the same if we apply the same arbitrary affine transformation function, $f(x) = kx + b, (kx= 0)$ to every value $x$ to any subset of features in the training data set S and the test case $ts$.
Source input:
Source output:
Follow-up input:
Follow-up output:
Input relation:
Output relation:
Pattern:

#### MR2------Permutation of Sophisticated Class Labels.

Description:
Property:  Assume that we have a class-label permutation function Perm () to perform one-to-one mapping between a class label within the set of labels L to different label in L. If the source case result is $li$, apply the permutation function to the set of corresponding class labels C for the follow-up case, the results of the follow-up case ought to be Perm ($li$).
Source input:
Source output:
Follow-up input:
Follow-up output:
Input relation:
Output relation:
Pattern:

#### MR3------ Permutation of the Attribute.

Description:
Property: If we have a tendency to permute the $m$ attributes of all the samples and therefore the test data, the result ought to stay unchanged.
Source input:
Source output:
Follow-up input:
Follow-up output:
Input relation:
Output relation:
Pattern:

Description:
Property: An uninformative attribute is one that is equally related to every class label. For the source input, suppose we tend to get the result $ct = li$ for the test case $ts$. In the follow-up input, we tend to add an uninformative attribute to S and respectively a replacement attribute in st. The selection of the actual value to be added here is not necessary as this attribute is equally related with the class labels. The output of the follow-up test suits should still be $li$.
Source input:
Source output:
Follow-up input:
Follow-up output:
Input relation:
Output relation:
Pattern:

Description:
Property: For the source input, suppose we get the result $ct = li$ for the test case ts. In the follow-up input, we tend to add an informative attribute to S and ts specify that attribute is powerfully related to class $li$ and equally related with all different classes. The output of the follow-up test case ought to still be $li$.
Source input:
Source output:
Follow-up input:
Follow-up output:
Input relation:
Output relation:
Pattern: