1
|
|
package net.bmahe.genetics4j.neat.selection; |
2
|
|
|
3
|
|
import java.util.ArrayList; |
4
|
|
import java.util.Comparator; |
5
|
|
import java.util.List; |
6
|
|
import java.util.random.RandomGenerator; |
7
|
|
import java.util.stream.IntStream; |
8
|
|
|
9
|
|
import org.apache.commons.lang3.Validate; |
10
|
|
import org.apache.logging.log4j.LogManager; |
11
|
|
import org.apache.logging.log4j.Logger; |
12
|
|
|
13
|
|
import net.bmahe.genetics4j.core.Genotype; |
14
|
|
import net.bmahe.genetics4j.core.Individual; |
15
|
|
import net.bmahe.genetics4j.core.Population; |
16
|
|
import net.bmahe.genetics4j.core.selection.Selector; |
17
|
|
import net.bmahe.genetics4j.core.spec.AbstractEAConfiguration; |
18
|
|
import net.bmahe.genetics4j.core.util.IndividualUtils; |
19
|
|
import net.bmahe.genetics4j.neat.NeatUtils; |
20
|
|
import net.bmahe.genetics4j.neat.Species; |
21
|
|
import net.bmahe.genetics4j.neat.SpeciesIdGenerator; |
22
|
|
import net.bmahe.genetics4j.neat.spec.selection.NeatSelection; |
23
|
|
|
24
|
|
/** |
25
|
|
* Concrete implementation of species-based selection for NEAT (NeuroEvolution of Augmenting Topologies) algorithm. |
26
|
|
* |
27
|
|
* <p>NeatSelectorImpl implements the core species-based selection mechanism that is fundamental to NEAT's |
28
|
|
* ability to maintain population diversity and protect structural innovations. It organizes the population |
29
|
|
* into species based on genetic compatibility, applies fitness sharing within species, manages species |
30
|
|
* lifecycle, and allocates reproduction opportunities across species. |
31
|
|
* |
32
|
|
* <p>NEAT selection process: |
33
|
|
* <ol> |
34
|
|
* <li><strong>Species assignment</strong>: Organize population into species using compatibility predicate</li> |
35
|
|
* <li><strong>Species trimming</strong>: Remove lower-performing individuals within each species</li> |
36
|
|
* <li><strong>Species filtering</strong>: Eliminate species below minimum viable size</li> |
37
|
|
* <li><strong>Reproduction allocation</strong>: Determine number of offspring for each species</li> |
38
|
|
* <li><strong>Parent selection</strong>: Select parents within species using configured selector</li> |
39
|
|
* <li><strong>Species maintenance</strong>: Update species representatives for next generation</li> |
40
|
|
* </ol> |
41
|
|
* |
42
|
|
* <p>Key features: |
43
|
|
* <ul> |
44
|
|
* <li><strong>Genetic compatibility</strong>: Groups individuals with similar network topologies</li> |
45
|
|
* <li><strong>Fitness sharing</strong>: Reduces competition between similar individuals</li> |
46
|
|
* <li><strong>Innovation protection</strong>: Allows new topologies time to optimize</li> |
47
|
|
* <li><strong>Population diversity</strong>: Maintains multiple species exploring different solutions</li> |
48
|
|
* </ul> |
49
|
|
* |
50
|
|
* <p>Species management: |
51
|
|
* <ul> |
52
|
|
* <li><strong>Species formation</strong>: Creates new species when compatibility threshold exceeded</li> |
53
|
|
* <li><strong>Species growth</strong>: Assigns compatible individuals to existing species</li> |
54
|
|
* <li><strong>Species extinction</strong>: Eliminates species that fall below minimum size</li> |
55
|
|
* <li><strong>Species continuity</strong>: Maintains species representatives across generations</li> |
56
|
|
* </ul> |
57
|
|
* |
58
|
|
* <p>Common usage patterns: |
59
|
|
* <pre>{@code |
60
|
|
* // Create NEAT selector implementation |
61
|
|
* RandomGenerator randomGen = RandomGenerator.getDefault(); |
62
|
|
* SpeciesIdGenerator speciesIdGen = new SpeciesIdGenerator(); |
63
|
|
* |
64
|
|
* // Configure species predicate for compatibility |
65
|
|
* BiPredicate<Individual<Double>, Individual<Double>> speciesPredicate = |
66
|
|
* (i1, i2) -> NeatUtils.compatibilityDistance( |
67
|
|
* i1.genotype(), i2.genotype(), 0, 2, 2, 1.0f |
68
|
|
* ) < 3.0; // Compatibility threshold |
69
|
|
* |
70
|
|
* // Configure NEAT selection policy |
71
|
|
* NeatSelection<Double> neatSelection = NeatSelection.<Double>builder() |
72
|
|
* .perSpeciesKeepRatio(0.8f) // Keep top 80% of each species |
73
|
|
* .minSpeciesSize(5) // Minimum 5 individuals per species |
74
|
|
* .speciesPredicate(speciesPredicate) |
75
|
|
* .speciesSelection(Tournament.of(3)) // Tournament within species |
76
|
|
* .build(); |
77
|
|
* |
78
|
|
* // Create within-species selector |
79
|
|
* Selector<Double> speciesSelector = new TournamentSelector<>(randomGen, 3); |
80
|
|
* |
81
|
|
* // Create NEAT selector |
82
|
|
* NeatSelectorImpl<Double> selector = new NeatSelectorImpl<>( |
83
|
|
* randomGen, neatSelection, speciesIdGen, speciesSelector |
84
|
|
* ); |
85
|
|
* |
86
|
|
* // Use in population selection |
87
|
|
* Population<Double> selectedPopulation = selector.select( |
88
|
|
* eaConfiguration, population, 100 // Select 100 individuals |
89
|
|
* ); |
90
|
|
* }</pre> |
91
|
|
* |
92
|
|
* <p>Species lifecycle management: |
93
|
|
* <ul> |
94
|
|
* <li><strong>Initialization</strong>: Empty species list for first generation</li> |
95
|
|
* <li><strong>Assignment</strong>: Individuals assigned to species based on compatibility</li> |
96
|
|
* <li><strong>Trimming</strong>: Poor performers removed while preserving species diversity</li> |
97
|
|
* <li><strong>Reproduction</strong>: Offspring allocated proportionally to species average fitness</li> |
98
|
|
* <li><strong>Evolution</strong>: Species composition changes as population evolves</li> |
99
|
|
* </ul> |
100
|
|
* |
101
|
|
* <p>Fitness sharing mechanism: |
102
|
|
* <ul> |
103
|
|
* <li><strong>Within-species competition</strong>: Individuals primarily compete within their species</li> |
104
|
|
* <li><strong>Species-based allocation</strong>: Reproduction opportunities distributed across species</li> |
105
|
|
* <li><strong>Diversity protection</strong>: Prevents single topology from dominating population</li> |
106
|
|
* <li><strong>Innovation preservation</strong>: New structural innovations get time to optimize</li> |
107
|
|
* </ul> |
108
|
|
* |
109
|
|
* <p>Performance considerations: |
110
|
|
* <ul> |
111
|
|
* <li><strong>Compatibility caching</strong>: Species assignment optimized for repeated use</li> |
112
|
|
* <li><strong>Efficient trimming</strong>: In-place species membership updates</li> |
113
|
|
* <li><strong>Memory management</strong>: Species structures reused across generations</li> |
114
|
|
* <li><strong>Parallel processing</strong>: Species-based organization enables concurrent operations</li> |
115
|
|
* </ul> |
116
|
|
* |
117
|
|
* @param <T> the fitness value type (typically Double) |
118
|
|
* @see NeatSelection |
119
|
|
* @see Species |
120
|
|
* @see SpeciesIdGenerator |
121
|
|
* @see Selector |
122
|
|
*/ |
123
|
|
public class NeatSelectorImpl<T extends Number & Comparable<T>> implements Selector<T> { |
124
|
|
public static final Logger logger = LogManager.getLogger(NeatSelectorImpl.class); |
125
|
|
|
126
|
|
private final RandomGenerator randomGenerator; |
127
|
|
private final NeatSelection<T> neatSelection; |
128
|
|
private final SpeciesIdGenerator speciesIdGenerator; |
129
|
|
private final Selector<T> speciesSelector; |
130
|
|
|
131
|
|
private List<Species<T>> previousSpecies; |
132
|
|
|
133
|
|
/** |
134
|
|
* Constructs a new NEAT selector implementation with the specified components. |
135
|
|
* |
136
|
|
* <p>The selector uses the random generator for stochastic decisions, the NEAT selection |
137
|
|
* policy for species management parameters, the species ID generator for creating new |
138
|
|
* species, and the species selector for within-species parent selection. |
139
|
|
* |
140
|
|
* @param _randomGenerator random number generator for stochastic selection operations |
141
|
|
* @param _neatSelection NEAT selection policy defining species management parameters |
142
|
|
* @param _speciesIdGenerator generator for unique species identifiers |
143
|
|
* @param _speciesSelector selector for choosing parents within each species |
144
|
|
* @throws IllegalArgumentException if any parameter is null |
145
|
|
*/ |
146
|
|
public NeatSelectorImpl(final RandomGenerator _randomGenerator, final NeatSelection<T> _neatSelection, |
147
|
|
final SpeciesIdGenerator _speciesIdGenerator, final Selector<T> _speciesSelector) { |
148
|
|
Validate.notNull(_randomGenerator); |
149
|
|
Validate.notNull(_neatSelection); |
150
|
|
Validate.notNull(_speciesIdGenerator); |
151
|
|
Validate.notNull(_speciesSelector); |
152
|
|
|
153
|
1
1. <init> : Removed assignment to member variable randomGenerator → KILLED
|
this.randomGenerator = _randomGenerator; |
154
|
1
1. <init> : Removed assignment to member variable neatSelection → KILLED
|
this.neatSelection = _neatSelection; |
155
|
1
1. <init> : Removed assignment to member variable speciesIdGenerator → KILLED
|
this.speciesIdGenerator = _speciesIdGenerator; |
156
|
1
1. <init> : Removed assignment to member variable speciesSelector → KILLED
|
this.speciesSelector = _speciesSelector; |
157
|
|
|
158
|
2
1. <init> : removed call to java/util/ArrayList::<init> → KILLED
2. <init> : Removed assignment to member variable previousSpecies → KILLED
|
this.previousSpecies = new ArrayList<>(); |
159
|
|
} |
160
|
|
|
161
|
|
/** |
162
|
|
* Trims a species by removing lower-performing individuals while preserving minimum viable size. |
163
|
|
* |
164
|
|
* <p>This method applies fitness-based selection within a species, keeping the best performers |
165
|
|
* while ensuring the species maintains sufficient size for genetic diversity. The number of |
166
|
|
* individuals kept is the maximum of the minimum species size and the keep ratio applied to |
167
|
|
* the current species size. |
168
|
|
* |
169
|
|
* @param species the species to trim |
170
|
|
* @param comparator comparator for ranking individuals by fitness |
171
|
|
* @param minSpeciesSize minimum number of individuals to keep |
172
|
|
* @param perSpeciesKeepRatio proportion of current species to preserve |
173
|
|
* @return a new species containing only the selected individuals |
174
|
|
* @throws IllegalArgumentException if species is null |
175
|
|
*/ |
176
|
|
protected Species<T> trimSpecies(final Species<T> species, final Comparator<Individual<T>> comparator, |
177
|
|
final int minSpeciesSize, final float perSpeciesKeepRatio) { |
178
|
|
Validate.notNull(species); |
179
|
|
|
180
|
1
1. trimSpecies : removed call to net/bmahe/genetics4j/neat/Species::getMembers → KILLED
|
final List<Individual<T>> members = species.getMembers(); |
181
|
1
1. trimSpecies : removed call to java/util/List::size → KILLED
|
final float speciesSize = members.size(); |
182
|
3
1. trimSpecies : removed call to java/lang/Math::max → KILLED
2. trimSpecies : replaced call to java/lang/Math::max with argument → KILLED
3. trimSpecies : Replaced float multiplication with division → KILLED
|
final int numIndividualtoKeep = (int) Math.max(minSpeciesSize, speciesSize * perSpeciesKeepRatio); |
183
|
|
|
184
|
|
if (logger.isDebugEnabled()) { |
185
|
|
logger.debug( |
186
|
|
"Species id: {}, size: {}, perSepciesKeepRatio: {}, we want to keep {} members - best fitness: {}", |
187
|
2
1. trimSpecies : removed call to net/bmahe/genetics4j/neat/Species::getId → SURVIVED
2. trimSpecies : removed call to java/lang/Integer::valueOf → SURVIVED
|
species.getId(), |
188
|
1
1. trimSpecies : removed call to java/lang/Float::valueOf → SURVIVED
|
speciesSize, |
189
|
1
1. trimSpecies : removed call to java/lang/Float::valueOf → SURVIVED
|
perSpeciesKeepRatio, |
190
|
1
1. trimSpecies : removed call to java/lang/Integer::valueOf → SURVIVED
|
numIndividualtoKeep, |
191
|
1
1. trimSpecies : removed call to java/util/List::stream → KILLED
|
members.stream() |
192
|
1
1. trimSpecies : removed call to java/util/stream/Stream::max → KILLED
|
.max(comparator) |
193
|
2
1. trimSpecies : removed call to java/util/Optional::map → SURVIVED
2. trimSpecies : replaced call to java/util/Optional::map with receiver → SURVIVED
|
.map(Individual::fitness)); |
194
|
|
} |
195
|
|
|
196
|
3
1. trimSpecies : removed call to net/bmahe/genetics4j/neat/Species::getId → SURVIVED
2. trimSpecies : removed call to java/util/List::of → KILLED
3. trimSpecies : removed call to net/bmahe/genetics4j/neat/Species::<init> → KILLED
|
final Species<T> trimmedSpecies = new Species<>(species.getId(), List.of()); |
197
|
4
1. trimSpecies : removed conditional - replaced comparison check with true → SURVIVED
2. trimSpecies : changed conditional boundary → SURVIVED
3. trimSpecies : negated conditional → KILLED
4. trimSpecies : removed conditional - replaced comparison check with false → KILLED
|
if (numIndividualtoKeep > 0) { |
198
|
1
1. trimSpecies : removed call to java/util/List::stream → KILLED
|
final var selectedIndividuals = members.stream() |
199
|
4
1. trimSpecies : removed call to java/util/stream/Stream::sorted → KILLED
2. trimSpecies : replaced call to java/util/Comparator::reversed with receiver → KILLED
3. trimSpecies : replaced call to java/util/stream/Stream::sorted with receiver → KILLED
4. trimSpecies : removed call to java/util/Comparator::reversed → KILLED
|
.sorted(comparator.reversed()) |
200
|
2
1. trimSpecies : replaced call to java/util/stream/Stream::limit with receiver → KILLED
2. trimSpecies : removed call to java/util/stream/Stream::limit → KILLED
|
.limit(numIndividualtoKeep) |
201
|
1
1. trimSpecies : removed call to java/util/stream/Stream::toList → KILLED
|
.toList(); |
202
|
|
|
203
|
1
1. trimSpecies : removed call to net/bmahe/genetics4j/neat/Species::addAllMembers → KILLED
|
trimmedSpecies.addAllMembers(selectedIndividuals); |
204
|
|
} |
205
|
1
1. trimSpecies : replaced return value with null for net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::trimSpecies → KILLED
|
return trimmedSpecies; |
206
|
|
|
207
|
|
} |
208
|
|
|
209
|
|
/** |
210
|
|
* Eliminates the lowest-performing individuals from all species while maintaining species diversity. |
211
|
|
* |
212
|
|
* <p>This method applies the species trimming process to all species in the population, |
213
|
|
* removing poor performers within each species while preserving the overall species |
214
|
|
* structure. Species that become empty after trimming are filtered out. |
215
|
|
* |
216
|
|
* @param eaConfiguration evolutionary algorithm configuration containing fitness comparator |
217
|
|
* @param allSpecies list of all species in the population |
218
|
|
* @return list of species after trimming, with empty species removed |
219
|
|
* @throws IllegalArgumentException if any parameter is null |
220
|
|
*/ |
221
|
|
protected List<Species<T>> eliminateLowestPerformers(final AbstractEAConfiguration<T> eaConfiguration, |
222
|
|
final List<Species<T>> allSpecies) { |
223
|
|
Validate.notNull(eaConfiguration); |
224
|
|
Validate.notNull(allSpecies); |
225
|
|
|
226
|
1
1. eliminateLowestPerformers : removed call to net/bmahe/genetics4j/core/util/IndividualUtils::fitnessBasedComparator → KILLED
|
final Comparator<Individual<T>> comparator = IndividualUtils.fitnessBasedComparator(eaConfiguration); |
227
|
|
|
228
|
1
1. eliminateLowestPerformers : removed call to net/bmahe/genetics4j/neat/spec/selection/NeatSelection::perSpeciesKeepRatio → KILLED
|
final float perSpeciesKeepRatio = neatSelection.perSpeciesKeepRatio(); |
229
|
|
logger.trace("Keeping only the best {} number of individuals per species", perSpeciesKeepRatio); |
230
|
|
|
231
|
1
1. eliminateLowestPerformers : removed call to net/bmahe/genetics4j/neat/spec/selection/NeatSelection::minSpeciesSize → KILLED
|
final int minSpeciesSize = neatSelection.minSpeciesSize(); |
232
|
|
|
233
|
2
1. eliminateLowestPerformers : removed call to java/util/List::stream → KILLED
2. eliminateLowestPerformers : replaced return value with Collections.emptyList for net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::eliminateLowestPerformers → KILLED
|
return allSpecies.stream() |
234
|
5
1. eliminateLowestPerformers : removed call to java/util/stream/Stream::map → KILLED
2. lambda$eliminateLowestPerformers$0 : removed call to net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::trimSpecies → KILLED
3. lambda$eliminateLowestPerformers$0 : replaced call to net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::trimSpecies with argument → KILLED
4. lambda$eliminateLowestPerformers$0 : replaced return value with null for net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::lambda$eliminateLowestPerformers$0 → KILLED
5. eliminateLowestPerformers : replaced call to java/util/stream/Stream::map with receiver → KILLED
|
.map(species -> trimSpecies(species, comparator, minSpeciesSize, perSpeciesKeepRatio)) |
235
|
10
1. eliminateLowestPerformers : replaced call to java/util/stream/Stream::filter with receiver → KILLED
2. lambda$eliminateLowestPerformers$1 : negated conditional → KILLED
3. eliminateLowestPerformers : removed call to java/util/stream/Stream::filter → KILLED
4. lambda$eliminateLowestPerformers$1 : removed call to net/bmahe/genetics4j/neat/Species::getNumMembers → KILLED
5. lambda$eliminateLowestPerformers$1 : removed conditional - replaced comparison check with true → KILLED
6. lambda$eliminateLowestPerformers$1 : Substituted 1 with 0 → KILLED
7. lambda$eliminateLowestPerformers$1 : changed conditional boundary → KILLED
8. lambda$eliminateLowestPerformers$1 : removed conditional - replaced comparison check with false → KILLED
9. lambda$eliminateLowestPerformers$1 : replaced boolean return with true for net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::lambda$eliminateLowestPerformers$1 → KILLED
10. lambda$eliminateLowestPerformers$1 : Substituted 0 with 1 → KILLED
|
.filter(species -> species.getNumMembers() > 0) |
236
|
1
1. eliminateLowestPerformers : removed call to java/util/stream/Stream::toList → KILLED
|
.toList(); |
237
|
|
} |
238
|
|
|
239
|
|
@Override |
240
|
|
public Population<T> select(final AbstractEAConfiguration<T> eaConfiguration, final int numIndividuals, |
241
|
|
final List<Genotype> genotypes, final List<T> fitnessScore) { |
242
|
|
Validate.notNull(eaConfiguration); |
243
|
|
Validate.notNull(genotypes); |
244
|
|
Validate.notNull(fitnessScore); |
245
|
|
Validate.isTrue(numIndividuals > 0); |
246
|
|
Validate.isTrue(genotypes.size() == fitnessScore.size()); |
247
|
|
|
248
|
1
1. select : removed call to net/bmahe/genetics4j/core/Population::of → KILLED
|
final Population<T> population = Population.of(genotypes, fitnessScore); |
249
|
|
|
250
|
2
1. select : removed call to net/bmahe/genetics4j/neat/NeatUtils::speciate → KILLED
2. select : replaced call to net/bmahe/genetics4j/neat/NeatUtils::speciate with argument → KILLED
|
final List<Species<T>> allSpecies = NeatUtils.speciate(randomGenerator, |
251
|
|
speciesIdGenerator, |
252
|
|
previousSpecies, |
253
|
|
population, |
254
|
1
1. select : removed call to net/bmahe/genetics4j/neat/spec/selection/NeatSelection::speciesPredicate → KILLED
|
neatSelection.speciesPredicate()); |
255
|
|
|
256
|
|
logger.debug("Number of species found: {}", allSpecies.size()); |
257
|
|
logger.trace("Species: {}", allSpecies); |
258
|
|
|
259
|
|
/** |
260
|
|
* We want to remove the bottom performers of each species |
261
|
|
*/ |
262
|
2
1. select : replaced call to net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::eliminateLowestPerformers with argument → KILLED
2. select : removed call to net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::eliminateLowestPerformers → KILLED
|
final var allTrimmedSpecies = eliminateLowestPerformers(eaConfiguration, allSpecies); |
263
|
|
logger.debug("After trimming, we have {} species", allTrimmedSpecies.size()); |
264
|
|
|
265
|
1
1. select : Removed assignment to member variable previousSpecies → SURVIVED
|
previousSpecies = allTrimmedSpecies; |
266
|
4
1. select : removed conditional - replaced equality check with false → SURVIVED
2. select : negated conditional → KILLED
3. select : removed call to java/util/List::size → KILLED
4. select : removed conditional - replaced equality check with true → KILLED
|
if (allTrimmedSpecies.size() == 0) { |
267
|
2
1. select : removed call to net/bmahe/genetics4j/core/Population::empty → NO_COVERAGE
2. select : replaced return value with null for net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::select → NO_COVERAGE
|
return Population.empty(); |
268
|
|
} |
269
|
|
|
270
|
|
/** |
271
|
|
* Now we want to select the next generation on a per species basis and |
272
|
|
* proportionally to the sum of the fitnesses of each members |
273
|
|
*/ |
274
|
|
|
275
|
1
1. select : removed call to java/util/List::size → KILLED
|
final double[] sumFitnesses = new double[allTrimmedSpecies.size()]; |
276
|
1
1. select : Substituted 0.0 with 1.0 → SURVIVED
|
double totalSum = 0; |
277
|
6
1. select : Substituted 0 with 1 → SURVIVED
2. select : removed conditional - replaced comparison check with true → KILLED
3. select : negated conditional → KILLED
4. select : removed call to java/util/List::size → KILLED
5. select : removed conditional - replaced comparison check with false → KILLED
6. select : changed conditional boundary → KILLED
|
for (int i = 0; i < allTrimmedSpecies.size(); i++) { |
278
|
1
1. select : removed call to java/util/List::get → KILLED
|
final var species = allTrimmedSpecies.get(i); |
279
|
1
1. select : removed call to net/bmahe/genetics4j/neat/Species::getMembers → KILLED
|
sumFitnesses[i] = species.getMembers() |
280
|
1
1. select : removed call to java/util/List::stream → KILLED
|
.stream() |
281
|
3
1. lambda$select$2 : removed call to net/bmahe/genetics4j/core/Individual::fitness → KILLED
2. lambda$select$2 : replaced double return with 0.0d for net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::lambda$select$2 → KILLED
3. select : removed call to java/util/stream/Stream::mapToDouble → KILLED
|
.mapToDouble(individual -> individual.fitness() |
282
|
1
1. lambda$select$2 : removed call to java/lang/Number::doubleValue → KILLED
|
.doubleValue()) |
283
|
3
1. select : Replaced double division with multiplication → SURVIVED
2. select : removed call to net/bmahe/genetics4j/neat/Species::getNumMembers → KILLED
3. select : removed call to java/util/stream/DoubleStream::sum → KILLED
|
.sum() / (float) species.getNumMembers(); |
284
|
1
1. select : Replaced double addition with subtraction → KILLED
|
totalSum += sumFitnesses[i]; |
285
|
|
} |
286
|
|
|
287
|
2
1. select : Substituted 0 with 1 → KILLED
2. select : removed call to java/util/stream/IntStream::range → KILLED
|
final List<Integer> decreasingFitnessIndex = IntStream.range(0, sumFitnesses.length) |
288
|
1
1. select : removed call to java/util/stream/IntStream::boxed → KILLED
|
.boxed() |
289
|
6
1. select : replaced call to java/util/stream/Stream::sorted with receiver → KILLED
2. lambda$select$3 : removed call to java/lang/Double::valueOf → KILLED
3. select : removed call to java/util/Comparator::comparing → KILLED
4. lambda$select$3 : removed call to java/lang/Integer::intValue → KILLED
5. lambda$select$3 : replaced Double return value with 0 for net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::lambda$select$3 → KILLED
6. select : removed call to java/util/stream/Stream::sorted → KILLED
|
.sorted(Comparator.comparing(i -> sumFitnesses[(int) i]) |
290
|
2
1. select : removed call to java/util/Comparator::reversed → KILLED
2. select : replaced call to java/util/Comparator::reversed with receiver → KILLED
|
.reversed()) |
291
|
1
1. select : removed call to java/util/stream/Stream::toList → KILLED
|
.toList(); |
292
|
|
|
293
|
1
1. select : removed call to net/bmahe/genetics4j/core/Population::<init> → KILLED
|
final Population<T> selected = new Population<>(); |
294
|
|
|
295
|
1
1. select : removed call to java/util/List::stream → KILLED
|
final List<Population<T>> trimmedPopulations = allTrimmedSpecies.stream() |
296
|
5
1. lambda$select$4 : replaced return value with null for net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::lambda$select$4 → KILLED
2. lambda$select$4 : removed call to net/bmahe/genetics4j/neat/Species::getMembers → KILLED
3. select : removed call to java/util/stream/Stream::map → KILLED
4. select : replaced call to java/util/stream/Stream::map with receiver → KILLED
5. lambda$select$4 : removed call to net/bmahe/genetics4j/core/Population::of → KILLED
|
.map(species -> Population.of(species.getMembers())) |
297
|
1
1. select : removed call to java/util/stream/Stream::toList → KILLED
|
.toList(); |
298
|
|
|
299
|
1
1. select : Substituted 0 with 1 → KILLED
|
int i = 0; |
300
|
9
1. select : removed call to net/bmahe/genetics4j/core/Population::size → SURVIVED
2. select : changed conditional boundary → SURVIVED
3. select : removed conditional - replaced comparison check with true → SURVIVED
4. select : removed conditional - replaced comparison check with true → KILLED
5. select : removed conditional - replaced comparison check with false → KILLED
6. select : negated conditional → KILLED
7. select : removed conditional - replaced comparison check with false → KILLED
8. select : negated conditional → KILLED
9. select : changed conditional boundary → KILLED
|
while (selected.size() < numIndividuals && i < sumFitnesses.length) { |
301
|
2
1. select : removed call to java/lang/Integer::intValue → KILLED
2. select : removed call to java/util/List::get → KILLED
|
int speciesIndex = decreasingFitnessIndex.get(i); |
302
|
|
|
303
|
2
1. select : Replaced double division with multiplication → KILLED
2. select : Replaced double multiplication with division → KILLED
|
int numIndividualSpecies = (int) (numIndividuals * sumFitnesses[speciesIndex] / totalSum); |
304
|
6
1. select : Replaced integer subtraction with addition → SURVIVED
2. select : removed call to net/bmahe/genetics4j/core/Population::size → SURVIVED
3. select : changed conditional boundary → SURVIVED
4. select : removed conditional - replaced comparison check with false → SURVIVED
5. select : negated conditional → KILLED
6. select : removed conditional - replaced comparison check with true → KILLED
|
if (numIndividualSpecies > numIndividuals - selected.size()) { |
305
|
2
1. select : removed call to net/bmahe/genetics4j/core/Population::size → NO_COVERAGE
2. select : Replaced integer subtraction with addition → NO_COVERAGE
|
numIndividualSpecies = numIndividuals - selected.size(); |
306
|
|
} |
307
|
|
|
308
|
4
1. select : negated conditional → KILLED
2. select : removed conditional - replaced comparison check with true → KILLED
3. select : removed conditional - replaced comparison check with false → KILLED
4. select : changed conditional boundary → KILLED
|
if (numIndividualSpecies > 0) { |
309
|
1
1. select : removed call to java/util/List::get → KILLED
|
final Population<T> speciesPopulation = trimmedPopulations.get(speciesIndex); |
310
|
|
|
311
|
|
logger.debug("sub selecting {} for index {} - species id: {}", |
312
|
1
1. select : removed call to java/lang/Integer::valueOf → SURVIVED
|
numIndividualSpecies, |
313
|
1
1. select : removed call to java/lang/Integer::valueOf → SURVIVED
|
speciesIndex, |
314
|
2
1. select : removed call to java/lang/Integer::valueOf → SURVIVED
2. select : removed call to java/util/List::get → KILLED
|
allTrimmedSpecies.get(speciesIndex) |
315
|
1
1. select : removed call to net/bmahe/genetics4j/neat/Species::getId → SURVIVED
|
.getId()); |
316
|
|
|
317
|
1
1. select : removed call to net/bmahe/genetics4j/core/selection/Selector::select → KILLED
|
final var selectedFromSpecies = speciesSelector.select(eaConfiguration, |
318
|
|
numIndividualSpecies, |
319
|
1
1. select : removed call to net/bmahe/genetics4j/core/Population::getAllGenotypes → KILLED
|
speciesPopulation.getAllGenotypes(), |
320
|
1
1. select : removed call to net/bmahe/genetics4j/core/Population::getAllFitnesses → KILLED
|
speciesPopulation.getAllFitnesses()); |
321
|
|
|
322
|
1
1. select : removed call to net/bmahe/genetics4j/core/Population::addAll → KILLED
|
selected.addAll(selectedFromSpecies); |
323
|
|
} |
324
|
|
|
325
|
2
1. select : Removed increment 1 → KILLED
2. select : Changed increment from 1 to -1 → KILLED
|
i++; |
326
|
|
} |
327
|
|
|
328
|
5
1. select : removed call to net/bmahe/genetics4j/core/Population::size → SURVIVED
2. select : changed conditional boundary → SURVIVED
3. select : removed conditional - replaced comparison check with true → SURVIVED
4. select : negated conditional → KILLED
5. select : removed conditional - replaced comparison check with false → KILLED
|
if (selected.size() < numIndividuals) { |
329
|
|
logger.debug("There are less selected individual [{}] than desired [{}]. Will include additional invididuals", |
330
|
2
1. select : removed call to java/lang/Integer::valueOf → SURVIVED
2. select : removed call to net/bmahe/genetics4j/core/Population::size → SURVIVED
|
selected.size(), |
331
|
1
1. select : removed call to java/lang/Integer::valueOf → SURVIVED
|
numIndividuals); |
332
|
4
1. select : removed call to java/lang/Integer::intValue → KILLED
2. select : removed call to java/util/List::get → KILLED
3. select : Substituted 0 with 1 → KILLED
4. select : removed call to java/util/List::get → KILLED
|
final Population<T> speciesPopulation = trimmedPopulations.get(decreasingFitnessIndex.get(0)); |
333
|
|
|
334
|
2
1. select : removed call to net/bmahe/genetics4j/core/Population::addAll → KILLED
2. select : removed call to net/bmahe/genetics4j/core/selection/Selector::select → KILLED
|
selected.addAll(speciesSelector.select(eaConfiguration, |
335
|
2
1. select : Replaced integer subtraction with addition → KILLED
2. select : removed call to net/bmahe/genetics4j/core/Population::size → KILLED
|
numIndividuals - selected.size(), |
336
|
1
1. select : removed call to net/bmahe/genetics4j/core/Population::getAllGenotypes → KILLED
|
speciesPopulation.getAllGenotypes(), |
337
|
1
1. select : removed call to net/bmahe/genetics4j/core/Population::getAllFitnesses → KILLED
|
speciesPopulation.getAllFitnesses())); |
338
|
|
} |
339
|
|
|
340
|
1
1. select : replaced return value with null for net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::select → KILLED
|
return selected; |
341
|
|
} |
342
|
|
} |
| | Mutations |
153 |
|
1.1 Location : <init> Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] Removed assignment to member variable randomGenerator → KILLED
|
154 |
|
1.1 Location : <init> Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] Removed assignment to member variable neatSelection → KILLED
|
155 |
|
1.1 Location : <init> Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] Removed assignment to member variable speciesIdGenerator → KILLED
|
156 |
|
1.1 Location : <init> Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] Removed assignment to member variable speciesSelector → KILLED
|
158 |
|
1.1 Location : <init> Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/util/ArrayList::<init> → KILLED
2.2 Location : <init> Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] Removed assignment to member variable previousSpecies → KILLED
|
180 |
|
1.1 Location : trimSpecies Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] removed call to net/bmahe/genetics4j/neat/Species::getMembers → KILLED
|
181 |
|
1.1 Location : trimSpecies Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:simple()] removed call to java/util/List::size → KILLED
|
182 |
|
1.1 Location : trimSpecies Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] removed call to java/lang/Math::max → KILLED
2.2 Location : trimSpecies Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] replaced call to java/lang/Math::max with argument → KILLED
3.3 Location : trimSpecies Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] Replaced float multiplication with division → KILLED
|
187 |
|
1.1 Location : trimSpecies Killed by : none removed call to net/bmahe/genetics4j/neat/Species::getId → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()]
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:simple()]
2.2 Location : trimSpecies Killed by : none removed call to java/lang/Integer::valueOf → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()]
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:simple()]
|
188 |
|
1.1 Location : trimSpecies Killed by : none removed call to java/lang/Float::valueOf → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()]
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:simple()]
|
189 |
|
1.1 Location : trimSpecies Killed by : none removed call to java/lang/Float::valueOf → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()]
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:simple()]
|
190 |
|
1.1 Location : trimSpecies Killed by : none removed call to java/lang/Integer::valueOf → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()]
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:simple()]
|
191 |
|
1.1 Location : trimSpecies Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] removed call to java/util/List::stream → KILLED
|
192 |
|
1.1 Location : trimSpecies Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] removed call to java/util/stream/Stream::max → KILLED
|
193 |
|
1.1 Location : trimSpecies Killed by : none removed call to java/util/Optional::map → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()]
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:simple()]
2.2 Location : trimSpecies Killed by : none replaced call to java/util/Optional::map with receiver → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()]
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:simple()]
|
196 |
|
1.1 Location : trimSpecies Killed by : none removed call to net/bmahe/genetics4j/neat/Species::getId → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()]
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:simple()]
2.2 Location : trimSpecies Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] removed call to java/util/List::of → KILLED
3.3 Location : trimSpecies Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] removed call to net/bmahe/genetics4j/neat/Species::<init> → KILLED
|
197 |
|
1.1 Location : trimSpecies Killed by : none removed conditional - replaced comparison check with true → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()]
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:simple()]
2.2 Location : trimSpecies Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] negated conditional → KILLED
3.3 Location : trimSpecies Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] removed conditional - replaced comparison check with false → KILLED
4.4 Location : trimSpecies Killed by : none changed conditional boundary → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()]
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:simple()]
|
198 |
|
1.1 Location : trimSpecies Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] removed call to java/util/List::stream → KILLED
|
199 |
|
1.1 Location : trimSpecies Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] removed call to java/util/stream/Stream::sorted → KILLED
2.2 Location : trimSpecies Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] replaced call to java/util/Comparator::reversed with receiver → KILLED
3.3 Location : trimSpecies Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] replaced call to java/util/stream/Stream::sorted with receiver → KILLED
4.4 Location : trimSpecies Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] removed call to java/util/Comparator::reversed → KILLED
|
200 |
|
1.1 Location : trimSpecies Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] replaced call to java/util/stream/Stream::limit with receiver → KILLED
2.2 Location : trimSpecies Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] removed call to java/util/stream/Stream::limit → KILLED
|
201 |
|
1.1 Location : trimSpecies Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] removed call to java/util/stream/Stream::toList → KILLED
|
203 |
|
1.1 Location : trimSpecies Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] removed call to net/bmahe/genetics4j/neat/Species::addAllMembers → KILLED
|
205 |
|
1.1 Location : trimSpecies Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] replaced return value with null for net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::trimSpecies → KILLED
|
226 |
|
1.1 Location : eliminateLowestPerformers Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] removed call to net/bmahe/genetics4j/core/util/IndividualUtils::fitnessBasedComparator → KILLED
|
228 |
|
1.1 Location : eliminateLowestPerformers Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:simple()] removed call to net/bmahe/genetics4j/neat/spec/selection/NeatSelection::perSpeciesKeepRatio → KILLED
|
231 |
|
1.1 Location : eliminateLowestPerformers Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to net/bmahe/genetics4j/neat/spec/selection/NeatSelection::minSpeciesSize → KILLED
|
233 |
|
1.1 Location : eliminateLowestPerformers Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] removed call to java/util/List::stream → KILLED
2.2 Location : eliminateLowestPerformers Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] replaced return value with Collections.emptyList for net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::eliminateLowestPerformers → KILLED
|
234 |
|
1.1 Location : eliminateLowestPerformers Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] removed call to java/util/stream/Stream::map → KILLED
2.2 Location : lambda$eliminateLowestPerformers$0 Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] removed call to net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::trimSpecies → KILLED
3.3 Location : lambda$eliminateLowestPerformers$0 Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] replaced call to net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::trimSpecies with argument → KILLED
4.4 Location : lambda$eliminateLowestPerformers$0 Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] replaced return value with null for net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::lambda$eliminateLowestPerformers$0 → KILLED
5.5 Location : eliminateLowestPerformers Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] replaced call to java/util/stream/Stream::map with receiver → KILLED
|
235 |
|
1.1 Location : eliminateLowestPerformers Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] replaced call to java/util/stream/Stream::filter with receiver → KILLED
2.2 Location : lambda$eliminateLowestPerformers$1 Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] negated conditional → KILLED
3.3 Location : eliminateLowestPerformers Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] removed call to java/util/stream/Stream::filter → KILLED
4.4 Location : lambda$eliminateLowestPerformers$1 Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] removed call to net/bmahe/genetics4j/neat/Species::getNumMembers → KILLED
5.5 Location : lambda$eliminateLowestPerformers$1 Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] removed conditional - replaced comparison check with true → KILLED
6.6 Location : lambda$eliminateLowestPerformers$1 Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] Substituted 1 with 0 → KILLED
7.7 Location : lambda$eliminateLowestPerformers$1 Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] changed conditional boundary → KILLED
8.8 Location : lambda$eliminateLowestPerformers$1 Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] removed conditional - replaced comparison check with false → KILLED
9.9 Location : lambda$eliminateLowestPerformers$1 Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] replaced boolean return with true for net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::lambda$eliminateLowestPerformers$1 → KILLED
10.10 Location : lambda$eliminateLowestPerformers$1 Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] Substituted 0 with 1 → KILLED
|
236 |
|
1.1 Location : eliminateLowestPerformers Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:eliminateLowestPerformers()] removed call to java/util/stream/Stream::toList → KILLED
|
248 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to net/bmahe/genetics4j/core/Population::of → KILLED
|
250 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to net/bmahe/genetics4j/neat/NeatUtils::speciate → KILLED
2.2 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] replaced call to net/bmahe/genetics4j/neat/NeatUtils::speciate with argument → KILLED
|
254 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to net/bmahe/genetics4j/neat/spec/selection/NeatSelection::speciesPredicate → KILLED
|
262 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] replaced call to net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::eliminateLowestPerformers with argument → KILLED
2.2 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::eliminateLowestPerformers → KILLED
|
265 |
|
1.1 Location : select Killed by : none Removed assignment to member variable previousSpecies → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
|
266 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] negated conditional → KILLED
2.2 Location : select Killed by : none removed conditional - replaced equality check with false → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
3.3 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/util/List::size → KILLED
4.4 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed conditional - replaced equality check with true → KILLED
|
267 |
|
1.1 Location : select Killed by : none removed call to net/bmahe/genetics4j/core/Population::empty → NO_COVERAGE
2.2 Location : select Killed by : none replaced return value with null for net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::select → NO_COVERAGE
|
275 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/util/List::size → KILLED
|
276 |
|
1.1 Location : select Killed by : none Substituted 0.0 with 1.0 → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
|
277 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed conditional - replaced comparison check with true → KILLED
2.2 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] negated conditional → KILLED
3.3 Location : select Killed by : none Substituted 0 with 1 → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
4.4 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/util/List::size → KILLED
5.5 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed conditional - replaced comparison check with false → KILLED
6.6 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] changed conditional boundary → KILLED
|
278 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/util/List::get → KILLED
|
279 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to net/bmahe/genetics4j/neat/Species::getMembers → KILLED
|
280 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/util/List::stream → KILLED
|
281 |
|
1.1 Location : lambda$select$2 Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to net/bmahe/genetics4j/core/Individual::fitness → KILLED
2.2 Location : lambda$select$2 Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] replaced double return with 0.0d for net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::lambda$select$2 → KILLED
3.3 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/util/stream/Stream::mapToDouble → KILLED
|
282 |
|
1.1 Location : lambda$select$2 Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/lang/Number::doubleValue → KILLED
|
283 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to net/bmahe/genetics4j/neat/Species::getNumMembers → KILLED
2.2 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/util/stream/DoubleStream::sum → KILLED
3.3 Location : select Killed by : none Replaced double division with multiplication → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
|
284 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] Replaced double addition with subtraction → KILLED
|
287 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] Substituted 0 with 1 → KILLED
2.2 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/util/stream/IntStream::range → KILLED
|
288 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/util/stream/IntStream::boxed → KILLED
|
289 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] replaced call to java/util/stream/Stream::sorted with receiver → KILLED
2.2 Location : lambda$select$3 Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/lang/Double::valueOf → KILLED
3.3 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/util/Comparator::comparing → KILLED
4.4 Location : lambda$select$3 Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/lang/Integer::intValue → KILLED
5.5 Location : lambda$select$3 Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] replaced Double return value with 0 for net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::lambda$select$3 → KILLED
6.6 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/util/stream/Stream::sorted → KILLED
|
290 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/util/Comparator::reversed → KILLED
2.2 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] replaced call to java/util/Comparator::reversed with receiver → KILLED
|
291 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/util/stream/Stream::toList → KILLED
|
293 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to net/bmahe/genetics4j/core/Population::<init> → KILLED
|
295 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/util/List::stream → KILLED
|
296 |
|
1.1 Location : lambda$select$4 Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] replaced return value with null for net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::lambda$select$4 → KILLED
2.2 Location : lambda$select$4 Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to net/bmahe/genetics4j/neat/Species::getMembers → KILLED
3.3 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/util/stream/Stream::map → KILLED
4.4 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] replaced call to java/util/stream/Stream::map with receiver → KILLED
5.5 Location : lambda$select$4 Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to net/bmahe/genetics4j/core/Population::of → KILLED
|
297 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/util/stream/Stream::toList → KILLED
|
299 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] Substituted 0 with 1 → KILLED
|
300 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed conditional - replaced comparison check with true → KILLED
2.2 Location : select Killed by : none removed call to net/bmahe/genetics4j/core/Population::size → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
3.3 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed conditional - replaced comparison check with false → KILLED
4.4 Location : select Killed by : none changed conditional boundary → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
5.5 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] negated conditional → KILLED
6.6 Location : select Killed by : none removed conditional - replaced comparison check with true → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
7.7 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed conditional - replaced comparison check with false → KILLED
8.8 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] negated conditional → KILLED
9.9 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] changed conditional boundary → KILLED
|
301 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/lang/Integer::intValue → KILLED
2.2 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/util/List::get → KILLED
|
303 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] Replaced double division with multiplication → KILLED
2.2 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] Replaced double multiplication with division → KILLED
|
304 |
|
1.1 Location : select Killed by : none Replaced integer subtraction with addition → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
2.2 Location : select Killed by : none removed call to net/bmahe/genetics4j/core/Population::size → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
3.3 Location : select Killed by : none changed conditional boundary → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
4.4 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] negated conditional → KILLED
5.5 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed conditional - replaced comparison check with true → KILLED
6.6 Location : select Killed by : none removed conditional - replaced comparison check with false → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
|
305 |
|
1.1 Location : select Killed by : none removed call to net/bmahe/genetics4j/core/Population::size → NO_COVERAGE
2.2 Location : select Killed by : none Replaced integer subtraction with addition → NO_COVERAGE
|
308 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] negated conditional → KILLED
2.2 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed conditional - replaced comparison check with true → KILLED
3.3 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed conditional - replaced comparison check with false → KILLED
4.4 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] changed conditional boundary → KILLED
|
309 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/util/List::get → KILLED
|
312 |
|
1.1 Location : select Killed by : none removed call to java/lang/Integer::valueOf → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
|
313 |
|
1.1 Location : select Killed by : none removed call to java/lang/Integer::valueOf → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
|
314 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/util/List::get → KILLED
2.2 Location : select Killed by : none removed call to java/lang/Integer::valueOf → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
|
315 |
|
1.1 Location : select Killed by : none removed call to net/bmahe/genetics4j/neat/Species::getId → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
|
317 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to net/bmahe/genetics4j/core/selection/Selector::select → KILLED
|
319 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to net/bmahe/genetics4j/core/Population::getAllGenotypes → KILLED
|
320 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to net/bmahe/genetics4j/core/Population::getAllFitnesses → KILLED
|
322 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to net/bmahe/genetics4j/core/Population::addAll → KILLED
|
325 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] Removed increment 1 → KILLED
2.2 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] Changed increment from 1 to -1 → KILLED
|
328 |
|
1.1 Location : select Killed by : none removed call to net/bmahe/genetics4j/core/Population::size → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
2.2 Location : select Killed by : none changed conditional boundary → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
3.3 Location : select Killed by : none removed conditional - replaced comparison check with true → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
4.4 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] negated conditional → KILLED
5.5 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed conditional - replaced comparison check with false → KILLED
|
330 |
|
1.1 Location : select Killed by : none removed call to java/lang/Integer::valueOf → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
2.2 Location : select Killed by : none removed call to net/bmahe/genetics4j/core/Population::size → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
|
331 |
|
1.1 Location : select Killed by : none removed call to java/lang/Integer::valueOf → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
|
332 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/lang/Integer::intValue → KILLED
2.2 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/util/List::get → KILLED
3.3 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] Substituted 0 with 1 → KILLED
4.4 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to java/util/List::get → KILLED
|
334 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to net/bmahe/genetics4j/core/Population::addAll → KILLED
2.2 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to net/bmahe/genetics4j/core/selection/Selector::select → KILLED
|
335 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] Replaced integer subtraction with addition → KILLED
2.2 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to net/bmahe/genetics4j/core/Population::size → KILLED
|
336 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to net/bmahe/genetics4j/core/Population::getAllGenotypes → KILLED
|
337 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] removed call to net/bmahe/genetics4j/core/Population::getAllFitnesses → KILLED
|
340 |
|
1.1 Location : select Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()] replaced return value with null for net/bmahe/genetics4j/neat/selection/NeatSelectorImpl::select → KILLED
|