Benchmark generation leads to invalid indexes
The following test fails:
@Test
public void testBuggyBenchmark() {
// Where we test a benchmark that triggers an IndexOutOfBoundsException.
BCBenchmarkPackage b1 = BCBenchmarkPackage.LIST(3, 100, 100,
MethodSelectionType.UNIFORM,
new LinkedList<>());
b1.reset();
b1.runBenchmark(blackhole);
}
When running the benchmark we run in the following exception:
Index: 3, Size: 2
java.lang.IndexOutOfBoundsException: Index: 3, Size: 2
at java.base/java.util.LinkedList.checkElementIndex(LinkedList.java:559)
at java.base/java.util.LinkedList.remove(LinkedList.java:529)
at __bcbench.TraceX_0.java.util.List.Bench_I3_D3_IL100_DL100.r_0(/Bench_3.java)
at __bcbench.TraceX_0.java.util.List.Bench_I3_D3_IL100_DL100.run(/Bench_3.java)
at se.lth.cs.bcgen.BCBenchStep.runBenchmark(BCBenchStep.java:67)
at se.lth.cs.bcgen.BCBenchmarkPackage.runBenchmark(BCBenchmarkPackage.java:345)