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
I found different inconsistencies in the type hierarchy for phantom classes in Android apps:
a) classes implement classes
b) classes extend interfaces
c) classes that extend themselves
I've four simple test cases that run in wjpp:
a) Check for each class in the scene if the type of implemented or extended classes are correct. This assumption does not hold for all classes.
b) Check type hierarchy and create new FastHierarchy. FastHierarchy can be calculated even if there are errors.
c) First retrieve all concrete methods, then check the type hierarchy and calculate a new fast hierarchy. After loading the bodies there are more type hierarchy issues. There is even an interface (java.lang.Throwable) that extends itself. This leads to an endless recursion in the calculation of FastHierarchy.
d) Load all bodies. Fix the hierarchy by setting the modifiers correctly according to type usage (fix point iteration until there is no contradiction in the hierarchy). Then I calculate FastHierarchy which fails because of the java.lang.Throwable.
Regards, Bernhard
The text was updated successfully, but these errors were encountered:
I found different inconsistencies in the type hierarchy for phantom classes in Android apps:
a) classes implement classes
b) classes extend interfaces
c) classes that extend themselves
I've four simple test cases that run in wjpp:
a) Check for each class in the scene if the type of implemented or extended classes are correct. This assumption does not hold for all classes.
b) Check type hierarchy and create new FastHierarchy. FastHierarchy can be calculated even if there are errors.
c) First retrieve all concrete methods, then check the type hierarchy and calculate a new fast hierarchy. After loading the bodies there are more type hierarchy issues. There is even an interface (java.lang.Throwable) that extends itself. This leads to an endless recursion in the calculation of FastHierarchy.
d) Load all bodies. Fix the hierarchy by setting the modifiers correctly according to type usage (fix point iteration until there is no contradiction in the hierarchy). Then I calculate FastHierarchy which fails because of the java.lang.Throwable.
Regards, Bernhard
The text was updated successfully, but these errors were encountered: