Skip to content

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)