@@ -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