Class NoOp
- java.lang.Object
-
- de.rwth.swc.coffee4j.algorithmic.sequential.characterization.NoOp
-
- All Implemented Interfaces:
FaultCharacterizationAlgorithm
public class NoOp extends Object implements FaultCharacterizationAlgorithm
The NoOp, short for No Operation, algorithm is the simplest possible fault characterization algorithm. It just translates every failure in the initial covering array to a failure inducing consisting out of the whole test case; i.e. the failing test case (0, 0, 1, 1) is directly returned as a result of fault characterization. No additional test cases will be generated.The inclusion of this algorithm in the evaluation provides a measure of the overhead that other fault characterization algorithms introduce.
-
-
Constructor Summary
Constructors Constructor Description NoOp(FaultCharacterizationConfiguration configuration)
Empty constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<int[]>
computeFailureInducingCombinations()
Computes a list of most likely failure inducing combinations refined from previous calls toFaultCharacterizationAlgorithm.computeNextTestInputs(Map)
.List<int[]>
computeNextTestInputs(Map<int[],TestResult> testResults)
Refines the internal list of suspicious of faulty combinations.
-
-
-
Constructor Detail
-
NoOp
public NoOp(FaultCharacterizationConfiguration configuration)
Empty constructor. This constructor is only present so that it matches the signature ofFaultCharacterizationAlgorithmFactory
.- Parameters:
configuration
- the configuration will be ignored.
-
-
Method Detail
-
computeNextTestInputs
public List<int[]> computeNextTestInputs(Map<int[],TestResult> testResults)
Description copied from interface:FaultCharacterizationAlgorithm
Refines the internal list of suspicious of faulty combinations. If this method is called for the first time, an initial list of suspicious combinations is created. This process may take a while. After the refinement of the list, test inputs are generated. These test inputs should be executed and this method should then be called with the results of these test inputs until no test inputs are returned. Through this process the underlying algorithm can refine and shorten it's list of suspicious combinations over time.When no combinations are returned any more,
FaultCharacterizationAlgorithm.computeFailureInducingCombinations()
can be used to compute a final list of most likely faulty combinations.- Specified by:
computeNextTestInputs
in interfaceFaultCharacterizationAlgorithm
- Parameters:
testResults
- the results of the initial test suite or previous test inputs generated by this method. Must not benull
or empty.- Returns:
- a list of further test inputs which need to be executed to refine the list of suspicious combinations
-
computeFailureInducingCombinations
public List<int[]> computeFailureInducingCombinations()
Description copied from interface:FaultCharacterizationAlgorithm
Computes a list of most likely failure inducing combinations refined from previous calls toFaultCharacterizationAlgorithm.computeNextTestInputs(Map)
. The combinations returned by this method are not guaranteed to be faulty, but it is guaranteed that no test input executed which contained this combination was successful.- Specified by:
computeFailureInducingCombinations
in interfaceFaultCharacterizationAlgorithm
- Returns:
- a list of faulty combinations. The list may be ranked, depending on the underlying algorithm. If this list is ranked the combinations on positions with smaller indices are more likely to be failure inducing
-
-