Welcome to seahorn Discussions! #370
Replies: 9 comments 8 replies
-
Hello. |
Beta Was this translation helpful? Give feedback.
-
Hello, #include "seahorn/seahorn.h" Then I verify it with: It shows sat but the result shows in screen is 0. However if I get a from getint(), it works well and the result is 10. I wonder what is the problem and how can I get the non-deterministically input correctly. |
Beta Was this translation helpful? Give feedback.
-
Sorry, I misunderstood your example. You are right to expect this to work. But it does not. I believe our executable counterexample generation is limited to scalars in this mode. BTW: are you interested in invariants or precise bit-reasoning and counterexamples? Our BMC engine might have a better support for counterexamples. |
Beta Was this translation helpful? Give feedback.
-
Yes, I tried the example and it doesn't reproduce correctly the cex. We do have a very limited support for memory if option |
Beta Was this translation helpful? Give feedback.
-
Hello, I'm seemingly having a similar problem. I tried seahorn on a small C program inspired by a smart contract: https://github.com/nano-o/racket-soroban-pool-model/blob/b22631481caecda86213ee26e1140f7092b53d46/seahorn-test/amm.c |
Beta Was this translation helpful? Give feedback.
-
The command |
Beta Was this translation helpful? Give feedback.
-
https://github.com/seahorn/seahorn/blob/dev14/test/cex/cex_nonlinear_arith.c |
Beta Was this translation helpful? Give feedback.
-
@nano-o your examples are better suited to our BMC engine (command bpf). BMC engine is bit-precise, and, therefore, can handle non-linear arithmetic. We do not target non-linear arithmetic specifically, so I would expect SeaHorn to not scale too well in these cases. The best way to see how to use BMC engine is to look at our repo https://github.com/seahorn/verify-c-common You can use these options with the following command
|
Beta Was this translation helpful? Give feedback.
-
If I wanted to parse the output invariant using a library that supports that, how would I do it? I badly need to import the invariants to a separate tool from seahorn, or else I can't use them. Furthermore, I'm having a lot of difficulty interpreting what gets printed. |
Beta Was this translation helpful? Give feedback.
-
👋 Welcome!
We’re using Discussions as a place to connect with other members of our community. We hope that you:
build together 💪.
To get started, comment below with an introduction of yourself and tell us about what you do with this community.
Beta Was this translation helpful? Give feedback.
All reactions