Closed jmcmillan1 closed 3 years ago
Ok, so something is weird with this pull request since it is trying to update the sea-dsa submodule of SMACK. My hunch is that you did not update submodules once you switch to the develop branch, and you added you commits to the develop branch with the old submodule. Could you please take a look at this? @keram88 can probably help you out here.
You are right, the sea-dsa submodule was not updated after bringing in develop's changes, should be updated now
Is this PR ready to be reviewed? I saw that it's still a draft.
One tiny suggestion: we may want the parallel runs to be configurable. Namely, the user can supply a configuration file that specifies the options for each run. Currently, they are hardcoded.
The configuration file can be, e.g., a YAML file, like the following,
- verifier: corral
options: /bopt:proverOpt:O:smt.qi.eager_threshold=100
- verifier: boogie
options: /proverOpt:O:smt.arith.solver=2
Our portfolio solver can read this file and run each configuration in the list in parallel.
By default, we can generate a simple file that just contains verifier boogie and corral without any options.
Right now a command line call like: smack --verifier=portfolio ./file.c should run 4 threads of corral verification on that "file.c" each with a combination of the args (eager_threshold=100, smt.arith.solver=2)
It is likely multiple print-outs will show verification results for processes which terminate close together in time, but the first terminating result is held and described