Mercurial > hg > Docker > JavaPathFinder
annotate README.md @ 7:4ab6299b5805 default tip
rename app to jpf
author | anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 17 Sep 2019 08:54:35 +0900 |
parents | e49b52c098c7 |
children |
rev | line source |
---|---|
6
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1 # NAME |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2 |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
3 Docker-JPF |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
4 |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
5 ## SYNOPSIS |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
6 |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
7 ``` |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
8 $ls |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
9 Dockerfile ThreadTest/ docker-compose.yml entrypoint.sh |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
10 |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
11 $docker-compose build # docker image build |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
12 |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
13 $docker-compose up # execute... |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
14 ``` |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
15 |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
16 ## WHAT's JPF? |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
17 |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
18 > An extensible software model checking framework for Java bytecode programs |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
19 > JPF is an extensible software analysis framework for Java bytecode. jpf-core is the basis for all JPF projects; you always need to install it. It contains the basic VM and model checking infrastructure, and can be used to check for concurrency defects like deadlocks, and unhandled exceptions like NullPointerExceptions and AssertionErrors. |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
20 |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
21 This Docker Image based on java-8 JavaPathFinder source code. |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
22 cf. https://github.com/javapathfinder/jpf-core/tree/java-8 |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
23 |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
24 |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
25 ## BASIC USAGE |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
26 |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
27 1. First, Place the Gradle project you want to run in the same directory as this repository. |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
28 |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
29 ``` |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
30 $ls |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
31 Dockerfile ThreadTest/ docker-compose.yml entrypoint.sh |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
32 ↑ This is target Gradle Project |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
33 ``` |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
34 |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
35 2. Then edit `entrypoint.sh`. |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
36 |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
37 This DockerImage mounts the root repository directory to `/os_exercise`. |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
38 Therefore, please do `cd /os_exercise /hogeproject` first. |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
39 |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
40 Next, Please execute gradle build. |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
41 (Gradle is /bin/gradle/gradle-5.6.2/bin/gradle) |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
42 |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
43 Finally, write the command to be executed by jpf. |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
44 jpf is `/java-8/bin/jpf` |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
45 |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
46 3. `$docker-compose build` |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
47 |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
48 4. `$docker-compose up` |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
49 |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
50 ## AUTHOR |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
51 |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
52 AnaTofuZ <anatofuz@cr.ie.u-ryukyu.ac.jp> |
e49b52c098c7
mounted the current directory
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
53 |