- [P-ForName]
- support
aClass = Class.forName("className")
- not support
aClass = Class.forName(str)
whilestr
is a string variable.aClass = A.class
- support
- [P-GetMtd]
- support
method = aClass.getMethod("methodName")
- not support
method = aClass.getMethod(str)
whilestr
is a string variable.method = aClass.getMethod("methodName", Object[])
, which means this only supportvoid
functions.method = aClass.getMethod(str, Object[])
of course.
- support
- [I-InvTp]
- support
method.invoke(instance)
- not support
method.invoke(instance, Object[])
- support
- jdk1.8
- maven3.8.1 or higher
- soot4.2.1
- junit
IMPORTANT:
target code: any .java
in dir src/test/testcodes/reflect
, user should mark this dir Test Sources Root
by ideaJ.
then run src/test/java/reflect/pta/PointerAnalysisTest.java
in ideaJ with Junit
program will print PFG and CG of target code on terminal\