↞
Back to README.md, ↞
Back to Korg.md
- TOC {:toc}
Here are some important caveats to be aware of.
-
Korg is not good at handling comments in your LTL property
phi
. Please just ommit any comments from the property! -
Korg will misbehave if you declare a variable
bit b
anywhere in any of your models. So, please don't do that. -
Korg prints all the output from Spin every time it runs Spin. I have not figured out how to suppress this. So, please just ignore all that cruft in the tool's output.
-
Korg expects you to be honest when you craft your interface (
IO.txt
) file. Do not lie about the interface ofQ
! -
Note that while in the paper we call the TCP channels
1toN
,2toN
,Nto1
, andNto2
, actually Spin does not accept these channel names, so in our models we useAtoN
,BtoN
,NtoA
, andNtoB
, instead.
You can infer a lot from the value returned by Korg (the exit status or error code).
Exit Status | Meaning |
---|---|
0 | Success! |
1 | Invalid max_attacks argument |
2 | Couldn't negate phi , probablty because the file does not exist or is not accessible |
3 | The threat model is invalid. The composition of P with Q violates phi . |
4 | Invalid IO.txt , probably wrong file path or permissions or something. |
5 | Empty IO.txt . In this case there is no possible attacker. |
6 | No solution! In other words, the daisy does not violate phi . |
-1 | No attackers found, even though the daisy worked. (This really should never happen.) |