-
Notifications
You must be signed in to change notification settings - Fork 0
/
readme.txt
69 lines (32 loc) · 2.09 KB
/
readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
QBMC: Quantified Bounded Model Checking for Rectangular Hybrid Automata
Authors: Luan Viet Nguyen, Djordje Maksimovic, Taylor T. Johnson, Andreas Veneris
--------------------------------------------------------------------------------
All examples of QBMC, dReach, HyComp are generated from SpaceEx inputs using Hyst:
https://github.com/verivital/hyst
The SMT solver is used in this paper is Z3 via its python API:
https://z3.codeplex.com/
--------------------------------------------------------------------------------
The repository contains:
./readme - this file
./spaceex - hybrid automata of all examples in SpaceEx format
./qbmc - a collection of Fischer, Lynch-Shavit and illustrative example using QBMC presented in the paper
./hycomp - a collection of Fischer, Lynch-Shavit and illustrative example encoded with a hydi language
./dreach - a collection of Fischer, Lynch-Shavit and illustrative example in dReach format
./image - a collection of all images of the paper and scripts to regenerate them
./run_qbmc.py - run all examples of QBMC and output a table of runtimes and memory usages
--------------------------------------------------------------------------------
1) Example to run QBMC:
python ./qbmc/example/example.py
You can run all examples in a specified folder using run_qbmc.py in Linux. The output will be a table included the runtime and memory usage for each example.
We use memtime to collect data of runtime and memory, and memtime is not supported for Windows.
Example to run QBMC for all examples of Fischer protocol up to k = 8:
python run_qbmc.py -k 8 ./qbmc/Fischer
2) For HyComp, we run invariant verification for all examples.
Example to run invariant verification in HyComp:
./hycomp -load path_to_bmc.cmd path_to_examples
3) Example to run dReach up to k = 32:
dReach -k 32 -l 0 ./dreach/example/example.drh
4) Users can download Hycomp and dReach at:
https://es-static.fbk.eu/tools/hycomp/
https://dreal.github.io/
NOTE THAT you need to set appropriate paths to those tools, otherwise they won't run.