benchmark
|--- PROGRAM1
`--- VER1
| `--- label.json
| `--- Dockerfile
| `--- build.sh
`--- VER2
| `--- label.json
| `--- Dockerfile
| `--- build.sh
...
See LABEL.md.
- Base image:
prosyslab/bug-bench-basein Dockerhub built from docker/Dockerfile
/
|-- src/
| `-- PROGRAM/
| `-- build.sh
|-- smake/
|-- infer/ # shall be mounted
|-- codeql/ # shall be mounted
|-- out/
`-- smake-out/
`-- infer-out/
`-- codeql-db/- Building a single image
$ bin/build-docker.sh benchmark/[program]/[version]
- Building all images including
base
$ bin/build-docker.sh all
$ $BUILD [ sparrow | infer | codeql ]For example, to build target for Sparrow, run $BUILD sparrow. Then, the built target along with either Sparrow or Infer will be located at /out/*.
$ docker run -it -v PATH/TO/INFER/DIR/:/infer REPO:TAGor
$ docker run -it -v PATH/TO/CODEQL/DIR/:/codeql REPO:TAGFYI, look out for -v option in docker run --help.
First, you have to install and authenticate github-cli on your local machine. To install, see here.
Then, authenticate with your github account:
$ gh auth loginOnce auth is done, run the command below to upload source code of the benchmark:
$ bin/add_repo_to_remote.sh [repo name] [url of tar file]Example
$ bin/add_repo_to_remote.sh prosyslab-warehouse/shntool-3.0.5 http://shnutils.freeshell.org/shntool/dist/src/shntool-3.0.5.tar.gzSee CONTRIBUTING.md.