Skip to content

Commit 396a254

Browse files
committed
Added README
1 parent 3a9202f commit 396a254

1 file changed

Lines changed: 38 additions & 0 deletions

File tree

README.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,41 @@ compares the output against the expected output in the corresponding
3636
`*.smt2.expect` file. The `test_solver.sh` scripts in the subdirectories of
3737
`test/` simulate solvers and for each test case, `make test` uses the
3838
`test_solver.sh` script in the same directory as the input.
39+
40+
## Docker Build
41+
42+
To build an executable suitable for use on StarExec, you need to use a
43+
centos:7 image. We provide docker scripts to help.
44+
45+
```sh
46+
cd docker
47+
./create-docker.sh
48+
./build-docker.sh
49+
```
50+
51+
This creates a tar.gz file containing the binary trace executor and
52+
the starexec run script.
53+
54+
## Wrapping your Solver
55+
56+
The pre- and post-processors of starexec are not suitable for the
57+
incremental track where the trace-executor needs to interact with your
58+
solver. Instead the solution for SMT-COMP is to add the
59+
trace executor to the solver binaries and upload a wrapped solver.
60+
Note that in the competition the SMT-COMP organizers will wrap your
61+
solver. These instructions are meant to help solver authors to test
62+
their solvers on starexec before the competition.
63+
64+
To wrap your solver, first follow the above instructions for the
65+
Docker build or download the released tar archive. Then rename your
66+
solver's start script and extract the tar archive.
67+
68+
```sh
69+
cd mysolver/bin
70+
mv starexec_run_* original_starexec_run_default
71+
tar -xzf .../SMT-COMP-20*-trace-executor.tar.gz
72+
```
73+
74+
Upload the wrapped solver to starexec. Note that the wrapped solver
75+
can only be used in the incremental track with the incremental
76+
scrambler and post-processor.

0 commit comments

Comments
 (0)