1
|
|
package net.bmahe.genetics4j.gp.mutation; |
2
|
|
|
3
|
|
import java.util.List; |
4
|
|
import java.util.Objects; |
5
|
|
import java.util.Set; |
6
|
|
import java.util.random.RandomGenerator; |
7
|
|
import java.util.stream.Collectors; |
8
|
|
import java.util.stream.Stream; |
9
|
|
|
10
|
|
import org.apache.commons.lang3.Validate; |
11
|
|
|
12
|
|
import net.bmahe.genetics4j.core.Genotype; |
13
|
|
import net.bmahe.genetics4j.core.chromosomes.Chromosome; |
14
|
|
import net.bmahe.genetics4j.core.chromosomes.TreeChromosome; |
15
|
|
import net.bmahe.genetics4j.core.chromosomes.TreeNode; |
16
|
|
import net.bmahe.genetics4j.core.mutation.Mutator; |
17
|
|
import net.bmahe.genetics4j.core.spec.AbstractEAConfiguration; |
18
|
|
import net.bmahe.genetics4j.core.spec.chromosome.ChromosomeSpec; |
19
|
|
import net.bmahe.genetics4j.gp.Operation; |
20
|
|
import net.bmahe.genetics4j.gp.OperationFactory; |
21
|
|
import net.bmahe.genetics4j.gp.program.Program; |
22
|
|
import net.bmahe.genetics4j.gp.program.ProgramHelper; |
23
|
|
import net.bmahe.genetics4j.gp.spec.chromosome.ProgramTreeChromosomeSpec; |
24
|
|
|
25
|
|
public class NodeReplacementMutator implements Mutator { |
26
|
|
|
27
|
|
private final ProgramHelper programHelper; |
28
|
|
private final RandomGenerator randomGenerator; |
29
|
|
private final AbstractEAConfiguration eaConfiguration; |
30
|
|
private final double populationMutationProbability; |
31
|
|
|
32
|
|
public NodeReplacementMutator(final ProgramHelper _programHelper, final RandomGenerator _randomGenerator, |
33
|
|
final AbstractEAConfiguration _eaConfiguration, final double populationMutationProbability) { |
34
|
|
Objects.requireNonNull(_programHelper); |
35
|
|
Objects.requireNonNull(_randomGenerator); |
36
|
|
Objects.requireNonNull(_eaConfiguration); |
37
|
|
Validate.inclusiveBetween(0.0, 1.0, populationMutationProbability); |
38
|
|
|
39
|
1
1. <init> : Removed assignment to member variable programHelper → SURVIVED
|
this.programHelper = _programHelper; |
40
|
1
1. <init> : Removed assignment to member variable randomGenerator → KILLED
|
this.randomGenerator = _randomGenerator; |
41
|
1
1. <init> : Removed assignment to member variable eaConfiguration → SURVIVED
|
this.eaConfiguration = _eaConfiguration; |
42
|
1
1. <init> : Removed assignment to member variable populationMutationProbability → SURVIVED
|
this.populationMutationProbability = populationMutationProbability; |
43
|
|
} |
44
|
|
|
45
|
|
protected TreeNode<Operation<?>> duplicateNode(final Program program, final TreeNode<Operation<?>> root, |
46
|
|
final int cutPoint, final int nodeIndex) { |
47
|
|
Objects.requireNonNull(root); |
48
|
|
Validate.isTrue(cutPoint >= 0); |
49
|
|
|
50
|
1
1. duplicateNode : removed call to net/bmahe/genetics4j/core/chromosomes/TreeNode::getData → KILLED
|
final Operation<?> rootData = root.getData(); |
51
|
1
1. duplicateNode : removed call to net/bmahe/genetics4j/core/chromosomes/TreeNode::getChildren → KILLED
|
final List<TreeNode<Operation<?>>> children = root.getChildren(); |
52
|
|
|
53
|
1
1. duplicateNode : removed call to net/bmahe/genetics4j/core/chromosomes/TreeNode::<init> → KILLED
|
final TreeNode<Operation<?>> duplicateRoot = new TreeNode<Operation<?>>(rootData); |
54
|
|
|
55
|
2
1. duplicateNode : Substituted 1 with 0 → SURVIVED
2. duplicateNode : Replaced integer addition with subtraction → SURVIVED
|
int currentIndex = nodeIndex + 1; |
56
|
6
1. duplicateNode : negated conditional → KILLED
2. duplicateNode : removed conditional - replaced comparison check with true → KILLED
3. duplicateNode : removed conditional - replaced comparison check with false → KILLED
4. duplicateNode : removed call to java/util/List::size → KILLED
5. duplicateNode : Substituted 0 with 1 → KILLED
6. duplicateNode : changed conditional boundary → KILLED
|
for (int i = 0; i < children.size(); i++) { |
57
|
1
1. duplicateNode : removed call to java/util/List::get → KILLED
|
final TreeNode<Operation<?>> treeNode = children.get(i); |
58
|
1
1. duplicateNode : removed call to net/bmahe/genetics4j/core/chromosomes/TreeNode::getSize → SURVIVED
|
final int childSize = treeNode.getSize(); |
59
|
|
|
60
|
2
1. duplicateNode : replaced call to net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateAndReplaceNode with argument → SURVIVED
2. duplicateNode : removed call to net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateAndReplaceNode → KILLED
|
final TreeNode<Operation<?>> childCopy = duplicateAndReplaceNode(program, treeNode, cutPoint, currentIndex); |
61
|
1
1. duplicateNode : removed call to net/bmahe/genetics4j/core/chromosomes/TreeNode::addChild → KILLED
|
duplicateRoot.addChild(childCopy); |
62
|
1
1. duplicateNode : Replaced integer addition with subtraction → SURVIVED
|
currentIndex += childSize; |
63
|
|
} |
64
|
|
|
65
|
1
1. duplicateNode : replaced return value with null for net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateNode → KILLED
|
return duplicateRoot; |
66
|
|
} |
67
|
|
|
68
|
|
protected List<OperationFactory> findReplacementCandidates(final Program program, |
69
|
|
final TreeNode<Operation<?>> root) { |
70
|
|
Objects.requireNonNull(root); |
71
|
|
|
72
|
1
1. findReplacementCandidates : removed call to net/bmahe/genetics4j/core/chromosomes/TreeNode::getData → KILLED
|
final Operation<?> rootData = root.getData(); |
73
|
|
|
74
|
1
1. findReplacementCandidates : removed call to net/bmahe/genetics4j/gp/Operation::returnedType → KILLED
|
final Class returnedType = rootData.returnedType(); |
75
|
1
1. findReplacementCandidates : removed call to net/bmahe/genetics4j/gp/Operation::acceptedTypes → KILLED
|
final List<Class> acceptedTypes = rootData.acceptedTypes(); |
76
|
|
|
77
|
1
1. findReplacementCandidates : removed call to net/bmahe/genetics4j/gp/program/Program::functions → KILLED
|
final Set<OperationFactory> functions = program.functions(); |
78
|
1
1. findReplacementCandidates : removed call to net/bmahe/genetics4j/gp/program/Program::terminal → KILLED
|
final Set<OperationFactory> terminals = program.terminal(); |
79
|
|
|
80
|
4
1. findReplacementCandidates : replaced call to java/util/stream/Stream::concat with argument → SURVIVED
2. findReplacementCandidates : removed call to java/util/stream/Stream::concat → KILLED
3. findReplacementCandidates : removed call to java/util/Set::stream → KILLED
4. findReplacementCandidates : removed call to java/util/Set::stream → KILLED
|
final List<OperationFactory> candidates = Stream.concat(functions.stream(), terminals.stream()) |
81
|
2
1. findReplacementCandidates : replaced call to java/util/stream/Stream::filter with receiver → SURVIVED
2. findReplacementCandidates : removed call to java/util/stream/Stream::filter → KILLED
|
.filter(opFactory -> { |
82
|
2
1. lambda$findReplacementCandidates$0 : removed call to net/bmahe/genetics4j/gp/OperationFactory::returnedType → KILLED
2. lambda$findReplacementCandidates$0 : removed call to java/lang/Class::isAssignableFrom → KILLED
|
final boolean b = returnedType.isAssignableFrom(opFactory.returnedType()); |
83
|
2
1. lambda$findReplacementCandidates$0 : replaced boolean return with true for net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::lambda$findReplacementCandidates$0 → SURVIVED
2. lambda$findReplacementCandidates$0 : replaced boolean return with false for net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::lambda$findReplacementCandidates$0 → KILLED
|
return b; |
84
|
|
}) |
85
|
2
1. findReplacementCandidates : replaced call to java/util/stream/Stream::filter with receiver → KILLED
2. findReplacementCandidates : removed call to java/util/stream/Stream::filter → KILLED
|
.filter(opFactory -> { |
86
|
|
|
87
|
5
1. lambda$findReplacementCandidates$1 : removed call to net/bmahe/genetics4j/gp/OperationFactory::acceptedTypes → KILLED
2. lambda$findReplacementCandidates$1 : removed conditional - replaced equality check with false → KILLED
3. lambda$findReplacementCandidates$1 : negated conditional → KILLED
4. lambda$findReplacementCandidates$1 : removed conditional - replaced equality check with true → KILLED
5. lambda$findReplacementCandidates$1 : removed call to java/util/List::size → KILLED
|
if (opFactory.acceptedTypes().length != acceptedTypes.size()) { |
88
|
2
1. lambda$findReplacementCandidates$1 : Substituted 0 with 1 → KILLED
2. lambda$findReplacementCandidates$1 : replaced boolean return with true for net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::lambda$findReplacementCandidates$1 → KILLED
|
return false; |
89
|
|
} |
90
|
|
|
91
|
6
1. lambda$findReplacementCandidates$1 : removed conditional - replaced comparison check with false → KILLED
2. lambda$findReplacementCandidates$1 : changed conditional boundary → KILLED
3. lambda$findReplacementCandidates$1 : removed call to java/util/List::size → KILLED
4. lambda$findReplacementCandidates$1 : Substituted 0 with 1 → KILLED
5. lambda$findReplacementCandidates$1 : removed conditional - replaced comparison check with true → KILLED
6. lambda$findReplacementCandidates$1 : negated conditional → KILLED
|
for (int i = 0; i < acceptedTypes.size(); i++) { |
92
|
|
|
93
|
1
1. lambda$findReplacementCandidates$1 : removed call to java/util/List::get → KILLED
|
if (acceptedTypes.get(i) |
94
|
5
1. lambda$findReplacementCandidates$1 : removed conditional - replaced equality check with true → SURVIVED
2. lambda$findReplacementCandidates$1 : removed call to java/lang/Class::isAssignableFrom → SURVIVED
3. lambda$findReplacementCandidates$1 : removed call to net/bmahe/genetics4j/gp/OperationFactory::acceptedTypes → KILLED
4. lambda$findReplacementCandidates$1 : removed conditional - replaced equality check with false → KILLED
5. lambda$findReplacementCandidates$1 : negated conditional → KILLED
|
.isAssignableFrom(opFactory.acceptedTypes()[i]) == false) { |
95
|
2
1. lambda$findReplacementCandidates$1 : replaced boolean return with true for net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::lambda$findReplacementCandidates$1 → KILLED
2. lambda$findReplacementCandidates$1 : Substituted 0 with 1 → KILLED
|
return false; |
96
|
|
} |
97
|
|
} |
98
|
|
|
99
|
2
1. lambda$findReplacementCandidates$1 : replaced boolean return with false for net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::lambda$findReplacementCandidates$1 → KILLED
2. lambda$findReplacementCandidates$1 : Substituted 1 with 0 → KILLED
|
return true; |
100
|
|
}) |
101
|
2
1. findReplacementCandidates : removed call to java/util/stream/Collectors::toList → KILLED
2. findReplacementCandidates : removed call to java/util/stream/Stream::collect → KILLED
|
.collect(Collectors.toList()); |
102
|
|
|
103
|
1
1. findReplacementCandidates : replaced return value with Collections.emptyList for net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::findReplacementCandidates → KILLED
|
return candidates; |
104
|
|
} |
105
|
|
|
106
|
|
protected TreeNode<Operation<?>> duplicateAndReplaceNode(final Program program, final TreeNode<Operation<?>> root, |
107
|
|
final int cutPoint, final int nodeIndex) { |
108
|
|
Objects.requireNonNull(root); |
109
|
|
Validate.isTrue(cutPoint >= 0); |
110
|
|
|
111
|
1
1. duplicateAndReplaceNode : removed call to net/bmahe/genetics4j/core/chromosomes/TreeNode::getData → SURVIVED
|
final Operation<?> rootData = root.getData(); |
112
|
|
|
113
|
3
1. duplicateAndReplaceNode : removed conditional - replaced equality check with false → SURVIVED
2. duplicateAndReplaceNode : removed conditional - replaced equality check with true → KILLED
3. duplicateAndReplaceNode : negated conditional → KILLED
|
if (nodeIndex == cutPoint) { |
114
|
|
|
115
|
1
1. duplicateAndReplaceNode : removed call to net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::findReplacementCandidates → KILLED
|
final List<OperationFactory> candidates = findReplacementCandidates(program, root); |
116
|
|
|
117
|
5
1. duplicateAndReplaceNode : removed conditional - replaced comparison check with true → SURVIVED
2. duplicateAndReplaceNode : negated conditional → SURVIVED
3. duplicateAndReplaceNode : changed conditional boundary → SURVIVED
4. duplicateAndReplaceNode : removed call to java/util/List::size → SURVIVED
5. duplicateAndReplaceNode : removed conditional - replaced comparison check with false → SURVIVED
|
if (candidates.size() > 0) { |
118
|
|
|
119
|
4
1. duplicateAndReplaceNode : removed call to java/util/random/RandomGenerator::nextInt → SURVIVED
2. duplicateAndReplaceNode : removed call to java/util/List::size → KILLED
3. duplicateAndReplaceNode : removed call to java/util/List::get → KILLED
4. duplicateAndReplaceNode : replaced call to java/util/random/RandomGenerator::nextInt with argument → KILLED
|
final OperationFactory chosenOperationFactory = candidates.get(randomGenerator.nextInt(candidates.size())); |
120
|
2
1. duplicateAndReplaceNode : removed call to net/bmahe/genetics4j/gp/program/Program::inputSpec → SURVIVED
2. duplicateAndReplaceNode : removed call to net/bmahe/genetics4j/gp/OperationFactory::build → KILLED
|
final Operation operation = chosenOperationFactory.build(program.inputSpec()); |
121
|
|
|
122
|
1
1. duplicateAndReplaceNode : removed call to net/bmahe/genetics4j/core/chromosomes/TreeNode::<init> → KILLED
|
final TreeNode<Operation<?>> replacedNode = new TreeNode<Operation<?>>(operation); |
123
|
2
1. duplicateAndReplaceNode : Substituted 1 with 0 → SURVIVED
2. duplicateAndReplaceNode : Replaced integer addition with subtraction → SURVIVED
|
int currentIndex = nodeIndex + 1; |
124
|
1
1. duplicateAndReplaceNode : removed call to net/bmahe/genetics4j/core/chromosomes/TreeNode::getChildren → KILLED
|
for (final TreeNode<Operation<?>> child : root.getChildren()) { |
125
|
1
1. duplicateAndReplaceNode : removed call to net/bmahe/genetics4j/core/chromosomes/TreeNode::getSize → SURVIVED
|
final int childSize = child.getSize(); |
126
|
|
|
127
|
2
1. duplicateAndReplaceNode : replaced call to net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateAndReplaceNode with argument → SURVIVED
2. duplicateAndReplaceNode : removed call to net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateAndReplaceNode → KILLED
|
final TreeNode<Operation<?>> childCopy = duplicateAndReplaceNode(program, child, cutPoint, currentIndex); |
128
|
1
1. duplicateAndReplaceNode : removed call to net/bmahe/genetics4j/core/chromosomes/TreeNode::addChild → SURVIVED
|
replacedNode.addChild(childCopy); |
129
|
1
1. duplicateAndReplaceNode : Replaced integer addition with subtraction → SURVIVED
|
currentIndex += childSize; |
130
|
|
|
131
|
|
} |
132
|
|
|
133
|
1
1. duplicateAndReplaceNode : replaced return value with null for net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateAndReplaceNode → KILLED
|
return replacedNode; |
134
|
|
} else { |
135
|
3
1. duplicateAndReplaceNode : replaced call to net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateNode with argument → NO_COVERAGE
2. duplicateAndReplaceNode : replaced return value with null for net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateAndReplaceNode → NO_COVERAGE
3. duplicateAndReplaceNode : removed call to net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateNode → NO_COVERAGE
|
return duplicateNode(program, root, cutPoint, nodeIndex); |
136
|
|
} |
137
|
|
} else { |
138
|
3
1. duplicateAndReplaceNode : replaced call to net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateNode with argument → SURVIVED
2. duplicateAndReplaceNode : replaced return value with null for net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateAndReplaceNode → KILLED
3. duplicateAndReplaceNode : removed call to net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateNode → KILLED
|
return duplicateNode(program, root, cutPoint, nodeIndex); |
139
|
|
} |
140
|
|
} |
141
|
|
|
142
|
|
@Override |
143
|
|
public Genotype mutate(final long generation, final Genotype original) { |
144
|
|
Validate.isTrue(generation >= 0); |
145
|
|
Objects.requireNonNull(original); |
146
|
|
|
147
|
10
1. mutate : removed call to java/util/random/RandomGenerator::nextDouble → SURVIVED
2. mutate : removed conditional - replaced comparison check with false → SURVIVED
3. mutate : removed conditional - replaced equality check with true → SURVIVED
4. mutate : Substituted 1 with 0 → NO_COVERAGE
5. mutate : changed conditional boundary → SURVIVED
6. mutate : negated conditional → KILLED
7. mutate : negated conditional → KILLED
8. mutate : removed conditional - replaced comparison check with true → KILLED
9. mutate : Substituted 0 with 1 → KILLED
10. mutate : removed conditional - replaced equality check with false → KILLED
|
if (randomGenerator.nextDouble() < populationMutationProbability == false) { |
148
|
1
1. mutate : replaced return value with null for net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::mutate → KILLED
|
return original; |
149
|
|
} |
150
|
|
|
151
|
1
1. mutate : removed call to net/bmahe/genetics4j/core/Genotype::getSize → NO_COVERAGE
|
final Chromosome[] newChromosomes = new Chromosome[original.getSize()]; |
152
|
1
1. mutate : removed call to net/bmahe/genetics4j/core/Genotype::getChromosomes → NO_COVERAGE
|
final Chromosome[] chromosomes = original.getChromosomes(); |
153
|
5
1. mutate : negated conditional → NO_COVERAGE
2. mutate : removed conditional - replaced comparison check with true → NO_COVERAGE
3. mutate : Substituted 0 with 1 → NO_COVERAGE
4. mutate : removed conditional - replaced comparison check with false → NO_COVERAGE
5. mutate : changed conditional boundary → NO_COVERAGE
|
for (int chromosomeIndex = 0; chromosomeIndex < chromosomes.length; chromosomeIndex++) { |
154
|
1
1. mutate : removed call to net/bmahe/genetics4j/core/spec/AbstractEAConfiguration::getChromosomeSpec → NO_COVERAGE
|
final ChromosomeSpec chromosomeSpec = eaConfiguration.getChromosomeSpec(chromosomeIndex); |
155
|
|
final Chromosome chromosome = chromosomes[chromosomeIndex]; |
156
|
|
|
157
|
3
1. mutate : negated conditional → NO_COVERAGE
2. mutate : removed conditional - replaced equality check with true → NO_COVERAGE
3. mutate : removed conditional - replaced equality check with false → NO_COVERAGE
|
if (chromosomeSpec instanceof ProgramTreeChromosomeSpec == false) { |
158
|
2
1. mutate : removed call to java/lang/String::valueOf → NO_COVERAGE
2. mutate : removed call to java/lang/IllegalArgumentException::<init> → NO_COVERAGE
|
throw new IllegalArgumentException("This mutator does not support chromosome specs " + chromosomeSpec); |
159
|
|
} |
160
|
|
|
161
|
3
1. mutate : negated conditional → NO_COVERAGE
2. mutate : removed conditional - replaced equality check with false → NO_COVERAGE
3. mutate : removed conditional - replaced equality check with true → NO_COVERAGE
|
if (chromosome instanceof TreeChromosome<?> == false) { |
162
|
|
throw new IllegalArgumentException( |
163
|
1
1. mutate : removed call to net/bmahe/genetics4j/core/chromosomes/Chromosome::getClass → NO_COVERAGE
|
"This mutator does not support chromosome of type " + chromosome.getClass() |
164
|
2
1. mutate : removed call to java/lang/Class::getSimpleName → NO_COVERAGE
2. mutate : removed call to java/lang/IllegalArgumentException::<init> → NO_COVERAGE
|
.getSimpleName()); |
165
|
|
} |
166
|
|
|
167
|
|
final ProgramTreeChromosomeSpec programTreeChromosomeSpec = (ProgramTreeChromosomeSpec) chromosomeSpec; |
168
|
|
|
169
|
|
final TreeChromosome<Operation<?>> treeChromosome = (TreeChromosome<Operation<?>>) chromosome; |
170
|
1
1. mutate : removed call to net/bmahe/genetics4j/core/chromosomes/TreeChromosome::getSize → NO_COVERAGE
|
final int chromosomeSize = treeChromosome.getSize(); |
171
|
|
|
172
|
5
1. mutate : removed conditional - replaced comparison check with true → NO_COVERAGE
2. mutate : negated conditional → NO_COVERAGE
3. mutate : changed conditional boundary → NO_COVERAGE
4. mutate : removed conditional - replaced comparison check with false → NO_COVERAGE
5. mutate : Substituted 2 with 3 → NO_COVERAGE
|
if (chromosomeSize > 2) { |
173
|
6
1. mutate : Replaced integer subtraction with addition → NO_COVERAGE
2. mutate : removed call to java/util/random/RandomGenerator::nextInt → NO_COVERAGE
3. mutate : Substituted 1 with 0 → NO_COVERAGE
4. mutate : Substituted 1 with 0 → NO_COVERAGE
5. mutate : replaced call to java/util/random/RandomGenerator::nextInt with argument → NO_COVERAGE
6. mutate : Replaced integer addition with subtraction → NO_COVERAGE
|
final int cutPoint = randomGenerator.nextInt(chromosomeSize - 1) + 1; |
174
|
|
|
175
|
1
1. mutate : removed call to net/bmahe/genetics4j/core/chromosomes/TreeChromosome::getRoot → NO_COVERAGE
|
final TreeNode<Operation<?>> root = treeChromosome.getRoot(); |
176
|
4
1. mutate : removed call to net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateAndReplaceNode → NO_COVERAGE
2. mutate : replaced call to net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateAndReplaceNode with argument → NO_COVERAGE
3. mutate : removed call to net/bmahe/genetics4j/gp/spec/chromosome/ProgramTreeChromosomeSpec::program → NO_COVERAGE
4. mutate : Substituted 0 with 1 → NO_COVERAGE
|
final TreeNode<Operation<?>> newRoot = duplicateAndReplaceNode(programTreeChromosomeSpec.program(), |
177
|
|
root, |
178
|
|
cutPoint, |
179
|
|
0); |
180
|
|
|
181
|
1
1. mutate : removed call to net/bmahe/genetics4j/core/chromosomes/TreeChromosome::<init> → NO_COVERAGE
|
final TreeChromosome<Operation<?>> newTreeChromosome = new TreeChromosome<>(newRoot); |
182
|
|
newChromosomes[chromosomeIndex] = newTreeChromosome; |
183
|
|
} else { |
184
|
|
newChromosomes[chromosomeIndex] = chromosome; |
185
|
|
} |
186
|
|
|
187
|
|
} |
188
|
|
|
189
|
2
1. mutate : removed call to net/bmahe/genetics4j/core/Genotype::<init> → NO_COVERAGE
2. mutate : replaced return value with null for net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::mutate → NO_COVERAGE
|
return new Genotype(newChromosomes); |
190
|
|
} |
191
|
|
} |
| | Mutations |
39 |
|
1.1 Location : <init> Killed by : none Removed assignment to member variable programHelper → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:noMutate()]
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()]
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
- net.bmahe.genetics4j.gp.mutation.NodeReplacementPolicyHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementPolicyHandlerTest]/[method:createMutator()]
|
40 |
|
1.1 Location : <init> Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:noMutate()] Removed assignment to member variable randomGenerator → KILLED
|
41 |
|
1.1 Location : <init> Killed by : none Removed assignment to member variable eaConfiguration → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:noMutate()]
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()]
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
- net.bmahe.genetics4j.gp.mutation.NodeReplacementPolicyHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementPolicyHandlerTest]/[method:createMutator()]
|
42 |
|
1.1 Location : <init> Killed by : none Removed assignment to member variable populationMutationProbability → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:noMutate()]
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()]
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
- net.bmahe.genetics4j.gp.mutation.NodeReplacementPolicyHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementPolicyHandlerTest]/[method:createMutator()]
|
50 |
|
1.1 Location : duplicateNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] removed call to net/bmahe/genetics4j/core/chromosomes/TreeNode::getData → KILLED
|
51 |
|
1.1 Location : duplicateNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] removed call to net/bmahe/genetics4j/core/chromosomes/TreeNode::getChildren → KILLED
|
53 |
|
1.1 Location : duplicateNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] removed call to net/bmahe/genetics4j/core/chromosomes/TreeNode::<init> → KILLED
|
55 |
|
1.1 Location : duplicateNode Killed by : none Substituted 1 with 0 → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
2.2 Location : duplicateNode Killed by : none Replaced integer addition with subtraction → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
|
56 |
|
1.1 Location : duplicateNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] negated conditional → KILLED
2.2 Location : duplicateNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] removed conditional - replaced comparison check with true → KILLED
3.3 Location : duplicateNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] removed conditional - replaced comparison check with false → KILLED
4.4 Location : duplicateNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] removed call to java/util/List::size → KILLED
5.5 Location : duplicateNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] Substituted 0 with 1 → KILLED
6.6 Location : duplicateNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] changed conditional boundary → KILLED
|
57 |
|
1.1 Location : duplicateNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] removed call to java/util/List::get → KILLED
|
58 |
|
1.1 Location : duplicateNode Killed by : none removed call to net/bmahe/genetics4j/core/chromosomes/TreeNode::getSize → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
|
60 |
|
1.1 Location : duplicateNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] removed call to net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateAndReplaceNode → KILLED
2.2 Location : duplicateNode Killed by : none replaced call to net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateAndReplaceNode with argument → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
|
61 |
|
1.1 Location : duplicateNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] removed call to net/bmahe/genetics4j/core/chromosomes/TreeNode::addChild → KILLED
|
62 |
|
1.1 Location : duplicateNode Killed by : none Replaced integer addition with subtraction → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
|
65 |
|
1.1 Location : duplicateNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] replaced return value with null for net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateNode → KILLED
|
72 |
|
1.1 Location : findReplacementCandidates Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] removed call to net/bmahe/genetics4j/core/chromosomes/TreeNode::getData → KILLED
|
74 |
|
1.1 Location : findReplacementCandidates Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] removed call to net/bmahe/genetics4j/gp/Operation::returnedType → KILLED
|
75 |
|
1.1 Location : findReplacementCandidates Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] removed call to net/bmahe/genetics4j/gp/Operation::acceptedTypes → KILLED
|
77 |
|
1.1 Location : findReplacementCandidates Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] removed call to net/bmahe/genetics4j/gp/program/Program::functions → KILLED
|
78 |
|
1.1 Location : findReplacementCandidates Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] removed call to net/bmahe/genetics4j/gp/program/Program::terminal → KILLED
|
80 |
|
1.1 Location : findReplacementCandidates Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] removed call to java/util/stream/Stream::concat → KILLED
2.2 Location : findReplacementCandidates Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] removed call to java/util/Set::stream → KILLED
3.3 Location : findReplacementCandidates Killed by : none replaced call to java/util/stream/Stream::concat with argument → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()]
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
4.4 Location : findReplacementCandidates Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] removed call to java/util/Set::stream → KILLED
|
81 |
|
1.1 Location : findReplacementCandidates Killed by : none replaced call to java/util/stream/Stream::filter with receiver → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()]
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
2.2 Location : findReplacementCandidates Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] removed call to java/util/stream/Stream::filter → KILLED
|
82 |
|
1.1 Location : lambda$findReplacementCandidates$0 Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] removed call to net/bmahe/genetics4j/gp/OperationFactory::returnedType → KILLED
2.2 Location : lambda$findReplacementCandidates$0 Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] removed call to java/lang/Class::isAssignableFrom → KILLED
|
83 |
|
1.1 Location : lambda$findReplacementCandidates$0 Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] replaced boolean return with false for net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::lambda$findReplacementCandidates$0 → KILLED
2.2 Location : lambda$findReplacementCandidates$0 Killed by : none replaced boolean return with true for net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::lambda$findReplacementCandidates$0 → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()]
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
|
85 |
|
1.1 Location : findReplacementCandidates Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] replaced call to java/util/stream/Stream::filter with receiver → KILLED
2.2 Location : findReplacementCandidates Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] removed call to java/util/stream/Stream::filter → KILLED
|
87 |
|
1.1 Location : lambda$findReplacementCandidates$1 Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] removed call to net/bmahe/genetics4j/gp/OperationFactory::acceptedTypes → KILLED
2.2 Location : lambda$findReplacementCandidates$1 Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] removed conditional - replaced equality check with false → KILLED
3.3 Location : lambda$findReplacementCandidates$1 Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] negated conditional → KILLED
4.4 Location : lambda$findReplacementCandidates$1 Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] removed conditional - replaced equality check with true → KILLED
5.5 Location : lambda$findReplacementCandidates$1 Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] removed call to java/util/List::size → KILLED
|
88 |
|
1.1 Location : lambda$findReplacementCandidates$1 Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] Substituted 0 with 1 → KILLED
2.2 Location : lambda$findReplacementCandidates$1 Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] replaced boolean return with true for net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::lambda$findReplacementCandidates$1 → KILLED
|
91 |
|
1.1 Location : lambda$findReplacementCandidates$1 Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] removed conditional - replaced comparison check with false → KILLED
2.2 Location : lambda$findReplacementCandidates$1 Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] changed conditional boundary → KILLED
3.3 Location : lambda$findReplacementCandidates$1 Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] removed call to java/util/List::size → KILLED
4.4 Location : lambda$findReplacementCandidates$1 Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] Substituted 0 with 1 → KILLED
5.5 Location : lambda$findReplacementCandidates$1 Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] removed conditional - replaced comparison check with true → KILLED
6.6 Location : lambda$findReplacementCandidates$1 Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] negated conditional → KILLED
|
93 |
|
1.1 Location : lambda$findReplacementCandidates$1 Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] removed call to java/util/List::get → KILLED
|
94 |
|
1.1 Location : lambda$findReplacementCandidates$1 Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] removed call to net/bmahe/genetics4j/gp/OperationFactory::acceptedTypes → KILLED
2.2 Location : lambda$findReplacementCandidates$1 Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] removed conditional - replaced equality check with false → KILLED
3.3 Location : lambda$findReplacementCandidates$1 Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] negated conditional → KILLED
4.4 Location : lambda$findReplacementCandidates$1 Killed by : none removed conditional - replaced equality check with true → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()]
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
5.5 Location : lambda$findReplacementCandidates$1 Killed by : none removed call to java/lang/Class::isAssignableFrom → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()]
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
|
95 |
|
1.1 Location : lambda$findReplacementCandidates$1 Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] replaced boolean return with true for net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::lambda$findReplacementCandidates$1 → KILLED
2.2 Location : lambda$findReplacementCandidates$1 Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] Substituted 0 with 1 → KILLED
|
99 |
|
1.1 Location : lambda$findReplacementCandidates$1 Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] replaced boolean return with false for net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::lambda$findReplacementCandidates$1 → KILLED
2.2 Location : lambda$findReplacementCandidates$1 Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] Substituted 1 with 0 → KILLED
|
101 |
|
1.1 Location : findReplacementCandidates Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] removed call to java/util/stream/Collectors::toList → KILLED
2.2 Location : findReplacementCandidates Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] removed call to java/util/stream/Stream::collect → KILLED
|
103 |
|
1.1 Location : findReplacementCandidates Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:findReplacementCandidates()] replaced return value with Collections.emptyList for net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::findReplacementCandidates → KILLED
|
111 |
|
1.1 Location : duplicateAndReplaceNode Killed by : none removed call to net/bmahe/genetics4j/core/chromosomes/TreeNode::getData → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
|
113 |
|
1.1 Location : duplicateAndReplaceNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] removed conditional - replaced equality check with true → KILLED
2.2 Location : duplicateAndReplaceNode Killed by : none removed conditional - replaced equality check with false → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
3.3 Location : duplicateAndReplaceNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] negated conditional → KILLED
|
115 |
|
1.1 Location : duplicateAndReplaceNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] removed call to net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::findReplacementCandidates → KILLED
|
117 |
|
1.1 Location : duplicateAndReplaceNode Killed by : none removed conditional - replaced comparison check with true → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
2.2 Location : duplicateAndReplaceNode Killed by : none negated conditional → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
3.3 Location : duplicateAndReplaceNode Killed by : none changed conditional boundary → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
4.4 Location : duplicateAndReplaceNode Killed by : none removed call to java/util/List::size → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
5.5 Location : duplicateAndReplaceNode Killed by : none removed conditional - replaced comparison check with false → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
|
119 |
|
1.1 Location : duplicateAndReplaceNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] removed call to java/util/List::size → KILLED
2.2 Location : duplicateAndReplaceNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] removed call to java/util/List::get → KILLED
3.3 Location : duplicateAndReplaceNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] replaced call to java/util/random/RandomGenerator::nextInt with argument → KILLED
4.4 Location : duplicateAndReplaceNode Killed by : none removed call to java/util/random/RandomGenerator::nextInt → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
|
120 |
|
1.1 Location : duplicateAndReplaceNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] removed call to net/bmahe/genetics4j/gp/OperationFactory::build → KILLED
2.2 Location : duplicateAndReplaceNode Killed by : none removed call to net/bmahe/genetics4j/gp/program/Program::inputSpec → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
|
122 |
|
1.1 Location : duplicateAndReplaceNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] removed call to net/bmahe/genetics4j/core/chromosomes/TreeNode::<init> → KILLED
|
123 |
|
1.1 Location : duplicateAndReplaceNode Killed by : none Substituted 1 with 0 → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
2.2 Location : duplicateAndReplaceNode Killed by : none Replaced integer addition with subtraction → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
|
124 |
|
1.1 Location : duplicateAndReplaceNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] removed call to net/bmahe/genetics4j/core/chromosomes/TreeNode::getChildren → KILLED
|
125 |
|
1.1 Location : duplicateAndReplaceNode Killed by : none removed call to net/bmahe/genetics4j/core/chromosomes/TreeNode::getSize → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
|
127 |
|
1.1 Location : duplicateAndReplaceNode Killed by : none replaced call to net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateAndReplaceNode with argument → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
2.2 Location : duplicateAndReplaceNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] removed call to net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateAndReplaceNode → KILLED
|
128 |
|
1.1 Location : duplicateAndReplaceNode Killed by : none removed call to net/bmahe/genetics4j/core/chromosomes/TreeNode::addChild → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
|
129 |
|
1.1 Location : duplicateAndReplaceNode Killed by : none Replaced integer addition with subtraction → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
|
133 |
|
1.1 Location : duplicateAndReplaceNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] replaced return value with null for net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateAndReplaceNode → KILLED
|
135 |
|
1.1 Location : duplicateAndReplaceNode Killed by : none replaced call to net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateNode with argument → NO_COVERAGE
2.2 Location : duplicateAndReplaceNode Killed by : none replaced return value with null for net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateAndReplaceNode → NO_COVERAGE
3.3 Location : duplicateAndReplaceNode Killed by : none removed call to net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateNode → NO_COVERAGE
|
138 |
|
1.1 Location : duplicateAndReplaceNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] replaced return value with null for net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateAndReplaceNode → KILLED
2.2 Location : duplicateAndReplaceNode Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()] removed call to net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateNode → KILLED
3.3 Location : duplicateAndReplaceNode Killed by : none replaced call to net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateNode with argument → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:simple()]
|
147 |
|
1.1 Location : mutate Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:noMutate()] negated conditional → KILLED
2.2 Location : mutate Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:noMutate()] negated conditional → KILLED
3.3 Location : mutate Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:noMutate()] removed conditional - replaced comparison check with true → KILLED
4.4 Location : mutate Killed by : none removed call to java/util/random/RandomGenerator::nextDouble → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:noMutate()]
5.5 Location : mutate Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:noMutate()] Substituted 0 with 1 → KILLED
6.6 Location : mutate Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:noMutate()] removed conditional - replaced equality check with false → KILLED
7.7 Location : mutate Killed by : none removed conditional - replaced comparison check with false → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:noMutate()]
8.8 Location : mutate Killed by : none removed conditional - replaced equality check with true → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:noMutate()]
9.9 Location : mutate Killed by : none Substituted 1 with 0 → NO_COVERAGE
10.10 Location : mutate Killed by : none changed conditional boundary → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:noMutate()]
|
148 |
|
1.1 Location : mutate Killed by : net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.NodeReplacementMutatorTest]/[method:noMutate()] replaced return value with null for net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::mutate → KILLED
|
151 |
|
1.1 Location : mutate Killed by : none removed call to net/bmahe/genetics4j/core/Genotype::getSize → NO_COVERAGE
|
152 |
|
1.1 Location : mutate Killed by : none removed call to net/bmahe/genetics4j/core/Genotype::getChromosomes → NO_COVERAGE
|
153 |
|
1.1 Location : mutate Killed by : none negated conditional → NO_COVERAGE
2.2 Location : mutate Killed by : none removed conditional - replaced comparison check with true → NO_COVERAGE
3.3 Location : mutate Killed by : none Substituted 0 with 1 → NO_COVERAGE
4.4 Location : mutate Killed by : none removed conditional - replaced comparison check with false → NO_COVERAGE
5.5 Location : mutate Killed by : none changed conditional boundary → NO_COVERAGE
|
154 |
|
1.1 Location : mutate Killed by : none removed call to net/bmahe/genetics4j/core/spec/AbstractEAConfiguration::getChromosomeSpec → NO_COVERAGE
|
157 |
|
1.1 Location : mutate Killed by : none negated conditional → NO_COVERAGE
2.2 Location : mutate Killed by : none removed conditional - replaced equality check with true → NO_COVERAGE
3.3 Location : mutate Killed by : none removed conditional - replaced equality check with false → NO_COVERAGE
|
158 |
|
1.1 Location : mutate Killed by : none removed call to java/lang/String::valueOf → NO_COVERAGE
2.2 Location : mutate Killed by : none removed call to java/lang/IllegalArgumentException::<init> → NO_COVERAGE
|
161 |
|
1.1 Location : mutate Killed by : none negated conditional → NO_COVERAGE
2.2 Location : mutate Killed by : none removed conditional - replaced equality check with false → NO_COVERAGE
3.3 Location : mutate Killed by : none removed conditional - replaced equality check with true → NO_COVERAGE
|
163 |
|
1.1 Location : mutate Killed by : none removed call to net/bmahe/genetics4j/core/chromosomes/Chromosome::getClass → NO_COVERAGE
|
164 |
|
1.1 Location : mutate Killed by : none removed call to java/lang/Class::getSimpleName → NO_COVERAGE
2.2 Location : mutate Killed by : none removed call to java/lang/IllegalArgumentException::<init> → NO_COVERAGE
|
170 |
|
1.1 Location : mutate Killed by : none removed call to net/bmahe/genetics4j/core/chromosomes/TreeChromosome::getSize → NO_COVERAGE
|
172 |
|
1.1 Location : mutate Killed by : none removed conditional - replaced comparison check with true → NO_COVERAGE
2.2 Location : mutate Killed by : none negated conditional → NO_COVERAGE
3.3 Location : mutate Killed by : none changed conditional boundary → NO_COVERAGE
4.4 Location : mutate Killed by : none removed conditional - replaced comparison check with false → NO_COVERAGE
5.5 Location : mutate Killed by : none Substituted 2 with 3 → NO_COVERAGE
|
173 |
|
1.1 Location : mutate Killed by : none Replaced integer subtraction with addition → NO_COVERAGE
2.2 Location : mutate Killed by : none removed call to java/util/random/RandomGenerator::nextInt → NO_COVERAGE
3.3 Location : mutate Killed by : none Substituted 1 with 0 → NO_COVERAGE
4.4 Location : mutate Killed by : none Substituted 1 with 0 → NO_COVERAGE
5.5 Location : mutate Killed by : none replaced call to java/util/random/RandomGenerator::nextInt with argument → NO_COVERAGE
6.6 Location : mutate Killed by : none Replaced integer addition with subtraction → NO_COVERAGE
|
175 |
|
1.1 Location : mutate Killed by : none removed call to net/bmahe/genetics4j/core/chromosomes/TreeChromosome::getRoot → NO_COVERAGE
|
176 |
|
1.1 Location : mutate Killed by : none removed call to net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateAndReplaceNode → NO_COVERAGE
2.2 Location : mutate Killed by : none replaced call to net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::duplicateAndReplaceNode with argument → NO_COVERAGE
3.3 Location : mutate Killed by : none removed call to net/bmahe/genetics4j/gp/spec/chromosome/ProgramTreeChromosomeSpec::program → NO_COVERAGE
4.4 Location : mutate Killed by : none Substituted 0 with 1 → NO_COVERAGE
|
181 |
|
1.1 Location : mutate Killed by : none removed call to net/bmahe/genetics4j/core/chromosomes/TreeChromosome::<init> → NO_COVERAGE
|
189 |
|
1.1 Location : mutate Killed by : none removed call to net/bmahe/genetics4j/core/Genotype::<init> → NO_COVERAGE
2.2 Location : mutate Killed by : none replaced return value with null for net/bmahe/genetics4j/gp/mutation/NodeReplacementMutator::mutate → NO_COVERAGE
|