Coder Social home page Coder Social logo

qilinpta / qilin Goto Github PK

View Code? Open in Web Editor NEW
117.0 117.0 30.0 298.16 MB

Qilin: A New Framework for Supporting Fine-Grained Context-Sensitivity in Java Pointer Analysis

Home Page: https://qilinpta.github.io/Qilin

License: GNU Lesser General Public License v2.1

Dockerfile 0.05% Python 3.73% Java 96.05% HTML 0.17% Shell 0.01%
java-pointer-analysis static-analysis

qilin's People

Contributors

dongjiehe avatar jay2013 avatar jingling avatar leeewee avatar qilinpta avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qilin's Issues

no problems

Hello! It's nice to see that you did this model, but I don't seem to see any benchmark results in your paper? So have you done it yet? Especially the conclusions of VQA-RAD and PATH-VQA?

How to exclude imported modules in the analysis

When we try to import any kind of java modules, the pointer analysis will then include the packages we import (like java.util.hashmap or java.awt.*), resulting in a huge call graph. Is there a way to limit the pointer analysis depth to a higher level?

Setup error "driver/Main has been compiled by a more recent version of the Java Runtime (class file version 60.0)"

Hi, really good works~

When I tried the docker image by following the instruction in Qilin wiki, I got output below. It says driver/Main has been compiled by a more recent version of the Java Runtime (class file version 60.0). By the way, when I cloned the repo and ran it in my WSL, same things happened.

Is it anything I missed? Thanks~

root@dce6d3699656:/qilin# python3 run.py antlr ci -print
now running insens for antlr ...
-Xmx256g -timeout=43200 -pae -pe -clinit=ONFLY -lcs -mh -pta=insens -apppath benchmarks/dacapo2006/antlr.jar -libpath benchmarks/dacapo2006/antlr-deps.jar -reflectionlog benchmarks/dacapo2006/antlr-refl.log -mainclass dacapo.antlr.Main -jre=jre1.6.0_45
java -Xms1g -Xmx256g -cp /qilin/Qilin-1.0-SNAPSHOT.jar driver.Main -pae -pe -clinit=ONFLY -lcs -mh -pta=insens -apppath benchmarks/dacapo2006/antlr.jar -libpath benchmarks/dacapo2006/antlr-deps.jar -reflectionlog benchmarks/dacapo2006/antlr-refl.log -mainclass dacapo.antlr.Main -jre=/qilin/benchmarks/JREs/jre1.6.0_45
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: driver/Main has been compiled by a more recent version of the Java Runtime (class file version 60.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:601)

Running Code in a Single Thread

Hi there,

Thanks for creating this high performance implementation of the pointer analysis in Java, I find it very easy to install, run, and produce results for my work. I have noticed that your code always runs with multiple threads and I was wondering if it is possible to run it on one thread.

Regards,
Yasmin

-pta ko、kc and so on UNSUPPORT

When I run Qilin as following:
java -cp /home/monadic/java_project/Qilin/artifact/Qilin-1.0-SNAPSHOT.jar driver.Main -pae -pe -clinit=ONFLY -lcs -mh -pta=ko -apppath /home/monadic/java_project/Qilin/docs/example/example01/example.jar -mainclass Main -jre=/home/monadic/java_project/Qilin/artifact/benchmarks/JREs/jre1.8.0_312/ -se -jimple

I have encountered the following error:
[main] ERROR driver.PTAOption - Error parsing command line options
java.lang.RuntimeException: Unsupported PTA: ko !
at driver.PTAPattern.parsePTACommand(PTAPattern.java:51)
at driver.PTAPattern.(PTAPattern.java:35)
at driver.PTAOption.parseCommandLineOptions(PTAOption.java:116)
at driver.PTAOption.parseCommandLine(PTAOption.java:98)
at driver.Main.run(Main.java:41)
at driver.Main.mainRun(Main.java:58)
at driver.Main.main(Main.java:172)

How can I do to make Qilin support ko/kc and so on? Thank you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.