In this page we show how to reproduce the evaluation of the quality of the oracles produced by EvoSpex and Daikon by computing oracle deficiencies using OASIs. In order to be able to run OASIs, go to the folder experiments/oasis, and compile the tool:
javac -cp "lib/*" src/* -d bin/
Now, to analyze oracle deficiencies we need to provide four arguments:
the current project,
the class to be analyzed,
the technique (EvoSpex or Daikon) from which the oracles were computed,
the mode (FP for false positives - FN for false negatives)
So, for example, to detect False Positives in the oracles produced by EvoSpex on class FullProduct of project 2_a4j, from the root folder run:
./experiments/sf110/run-oasis-class.sh 2_a4j FullProduct EvoSpex FP
and for Daikon:
./experiments/sf110/run-oasis-class.sh 2_a4j FullProduct Daikon FP
It is important to notice, that for every analyzed class C of every project, we already provide two classes named CEvoSpex and CDaikon containing the oracles produced by each technique during our experiments. For instance, in the folder $SF110SRC/2_a4j you will find the classes FullProductEvoSpex and FullProductDaikon, which contains the oracles for methods of class FullProduct, produced by EvoSpex and Daikon, respectively.