Skip to content

Commit

Permalink
update docker scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
Dongjie committed Mar 2, 2022
1 parent 195ff57 commit c3a276b
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 3 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/docker-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: 'true'
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ WORKDIR $workdir
ENV user root
USER $user
COPY artifact/benchmarks $workdir/benchmarks
COPY artifact/pta/ $workdir/pta
COPY artifact/util/ $workdir/util/
COPY artifact/run.py $workdir/
COPY artifact/qilin.py $workdir/
COPY artifact/__init__.py $workdir/
COPY --from=buildEnv /build/artifact/pta/Qilin-1.0-SNAPSHOT.jar $workdir/pta/
COPY --from=buildEnv /build/artifact/Qilin-1.0-SNAPSHOT.jar $workdir/
CMD /bin/bash
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,17 @@ QiLin is introduced in our ECOOP'22 paper. You might want to cite our paper by c
}
```
## A Quick Start
### Download
This repository contains a `submodule` that contains a set of real-world ready-to-use benchmarks for QiLin.
If you want to run QiLin on these benchmarks, so please use the following command to fetch QiLin sources:
```
$ git clone --recurse-submodules https://github.com/QiLinPTA/QiLin.git
```

If you have cloned QiLin in a normal way, you can use this command to download these benchmarks:
```
$ git submodule update --init
```
### Building QiLin with Gradle
We use Gradle as the build automation tool. To build Qilin, use
```
Expand Down
2 changes: 1 addition & 1 deletion artifact/qilin.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
runJava_cmd = 'java -Xms1g %s -cp ' + CLASSPATH + ' driver.Main %s'
OPTIONMESSAGE = 'The valid OPTIONs are:\n' \
+ option('-help|-h', 'print this message.') \
+ option('-jre=<[jre1.6.0_45|jre1.8.0_312]>', 'specify the version of JDK.') \
+ option('-jre=<JRE>', 'specify the version of JDK.') \
+ bioption('-Xmx', '\b<MAX>', ' Specify the maximum size, in bytes, of the memory allocation pool.') \
+ bioption('-timeout', 'seconds', 'Timeout for PTA (default value: -1 (unlimited)).') \
+ option('-ptahelp', 'print help info for pointer analysis.')
Expand Down
2 changes: 2 additions & 0 deletions artifact/run.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ def runPTA(analysis, bm, OPTIONSTYLE):
print('old result found. skip this.')
return
cmd += ' > ' + outputFile
cmd += " -jre=jre1.6.0_45"
print(cmd)
pta.runPointsToAnalysis(cmd.split())

Expand All @@ -99,6 +100,7 @@ def runPTA(analysis, bm, OPTIONSTYLE):
+ option('-dump', 'dump statistics into files.') \
+ option('<PTA>', 'specify pointer analysis.') \
+ option('<Benchmark>', 'specify benchmark.') \
+ option('-jre=<[jre1.6.0_45|jre1.8.0_312]>', 'specify the JRE version.') \
+ option('-out=<out>', 'specify output path.') \
+ option('-M', 'run Turner modularly.') \
+ option('-pre', 'run pre-analysis only.') \
Expand Down

0 comments on commit c3a276b

Please sign in to comment.