You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Muggl's method parameter indexing differs from that of the JVM.
In the JVM, parameters are indexed by the position of their first byte.
For example, the method test.preconditions.Average#division(double a, int b) stores three parameters (index - name - type):
0 - this - Ltest/preconditions/Average
1 - a - double
3 - b - int,
where b has the index 3 because a (double) occupies 2 bytes of space.
Muggl internally manages parameters in an array, that is indexed only by the parameters. That is, b has the index 2.
Consequently, trying to get the parameter b during symbolic execution using 3 as an identifier results in a java.lang.ArrayIndexOutOfBoundsException exception.
The text was updated successfully, but these errors were encountered:
Muggl's method parameter indexing differs from that of the JVM.
In the JVM, parameters are indexed by the position of their first byte.
For example, the method
test.preconditions.Average#division(double a, int b)
stores three parameters (index - name - type):0 - this - Ltest/preconditions/Average
1 - a - double
3 - b - int,
where
b
has the index 3 becausea
(double) occupies 2 bytes of space.Muggl internally manages parameters in an array, that is indexed only by the parameters. That is,
b
has the index 2.Consequently, trying to get the parameter
b
during symbolic execution using3
as an identifier results in ajava.lang.ArrayIndexOutOfBoundsException
exception.The text was updated successfully, but these errors were encountered: