# NAME Docker-JPF ## SYNOPSIS ``` $ls Dockerfile ThreadTest/ docker-compose.yml entrypoint.sh $docker-compose build # docker image build $docker-compose up # execute... ``` ## WHAT's JPF? > An extensible software model checking framework for Java bytecode programs > 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. This Docker Image based on java-8 JavaPathFinder source code. cf. https://github.com/javapathfinder/jpf-core/tree/java-8 ## BASIC USAGE 1. First, Place the Gradle project you want to run in the same directory as this repository. ``` $ls Dockerfile ThreadTest/ docker-compose.yml entrypoint.sh ↑ This is target Gradle Project ``` 2. Then edit `entrypoint.sh`. This DockerImage mounts the root repository directory to `/os_exercise`. Therefore, please do `cd /os_exercise /hogeproject` first. Next, Please execute gradle build. (Gradle is /bin/gradle/gradle-5.6.2/bin/gradle) Finally, write the command to be executed by jpf. jpf is `/java-8/bin/jpf` 3. `$docker-compose build` 4. `$docker-compose up` ## AUTHOR AnaTofuZ