use of org.kanonizo.algorithms.metaheuristics.fitness.APLCFunction in project kanonizo by kanonizo.
the class Framework method setupFitnessFunction.
/**
* Create the instance of the fitness function that will be used to guide a metaheuristic search.
* It is assumed that the Fitness Function has been set by the main method and is contained in the
* {@link Properties#FITNESS_FUNC} object. Default case is an {@link APFDFunction}, and other
* options include {@link APLCFunction} at present. More will be added soon
*/
protected void setupFitnessFunction() {
FitnessFunction<SystemUnderTest> func;
switch(Properties.COVERAGE_APPROACH) {
case LINE:
func = new APLCFunction(sut);
break;
case BRANCH:
func = new APBCFunction(sut);
break;
default:
func = new APLCFunction(sut);
}
if (algorithm instanceof MutationSearchAlgorithm) {
func = ((MutationSearchAlgorithm) algorithm).getFitnessFunction();
}
sut.getTestSuite().setFitnessFunction(func);
Properties.INSTRUMENT = func instanceof InstrumentedFitnessFunction;
}
Aggregations