-
Notifications
You must be signed in to change notification settings - Fork 30
Full list of Qilin options
DongjieHe edited this page Apr 28, 2022
·
3 revisions
Options | Meaning |
---|---|
-apppath <arg> | Specifies the Jar/Class files for the input program. |
-libpath <arg> | Specifies the libraries used by the input program. |
-reflectionlog <arg> | Specifies a reflection log (currently generated by Tamiflex) for representing the reflective targets found at the reflective calls in the input program. |
-mainclass <arg> | Specifies the main class (or the class that contains main() method) for the input program. |
-jre=<arg> | Specifies the JRE path for the input program. |
Options | Meaning |
---|---|
-jimple | Dumps the jimple files for the input program. |
-cg | Dumps the callgraph in the dot format for the input program. |
-pag | Dumps the PAG (pointer assignment graph) of the input program. |
Options | Meaning |
---|---|
-pae | Enables type filtering for the objects stored in an array based on the declared type of the array. By default, declared type is java.lang.Object as in Spark. |
-pe | Enables propagating exception objects along exception-catch-links rather than to a global node as in Spark
|
-clinit=ONFLY | Specifies the loading mode of <clinit> methods. Under the ``ONFLY'' option, the <clinit> methods for all the classes in the input program are loaded on the fly. The other options are `FULL` (all classes' clinit methods are considered to be reachable) and `APP` (all application classes' clinit methods are considered to be reachable). |
-mh | Merges the objects of type StringBuffer , StringBuilder , or any subtype of Throwable per type. |
-lcs | Analyses the objects of type StringBuffer , StringBuilder , or any subtype of Throwable context-insensitively. |
-pta=insens | Specifies a particular pointer analysis to be performed. Here, insens is the default context-insensitivie pointer analysis. You can also use ko for kOBJ, kc for kCFA, etc (Note that k should be a small constant like 1, 2, 3, ...). A full list of PTAs supported by QiLin can be found here. |
-se | Specifies main() as the only entry for analysing the input program in a lightweight manner. |
-sc | Handles string constants as separate objects without merging them. |
Options | Meaning |
---|---|
-tc=[DEFAULT] | Specifies the default Turner configuration as described in our ECOOP'21 paper. The other two options are PHASE_ONE (for running Turner's first phase) and PHASE_TWO (for running Turner's second phase). |
-cd | Enables context debloating optimization as described in our ASE'21 paper. |
-tmd | Enables Turner to run modularly as described in our TSE 2022 paper. |
Options | Meaning |
---|---|
-h | Prints the help information. |
-pre | Runs only the pre-analysis of a two-stage pointer analysis (e.g., for the purposes of accelerating the main pointer analysis). |