-
-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] Benchmark results are producing strange results on encoding tests #1134
Comments
I should have made an issue directly, instead of messaging you @shonfeder , sorry about that. It seems that some links did not carry over, they are listed below:
|
No worries! I had asked you to message me the info. :) Thank you for the additional context and info! 🙏 |
To let us debug what's causing counter-examples. See apalache-mc/apalache#1134 (comment)
@rodrigo7491 Here's one counterexample for the You'll find counter examples for the other failing runs in that PR. All the ones I've looked at have this same shape:
i.e., at some point, the Note that I am able to reproduce this outcome on my system. E.g., with
Producing ---------------------------- MODULE counterexample ----------------------------
EXTENDS SetSndRcv
(* Constant initialization state *)
ConstInit == Values = { 0, 1, 2, 3, 4, 5, 6 }
(* Initial state *)
State0 ==
Values = { 0, 1, 2, 3, 4, 5, 6 }
/\ medium = {}
/\ receiver = {}
/\ sender = { 0, 1, 2, 3, 4, 5, 6 }
(* Transition 0 to State1 *)
State1 ==
Values = { 0, 1, 2, 3, 4, 5, 6 }
/\ medium = {3}
/\ receiver = {}
/\ sender = { 0, 1, 2, 4, 5, 6 }
(* Transition 1 to State2 *)
State2 ==
Values = { 0, 1, 2, 3, 4, 5, 6 }
/\ medium = {3}
/\ receiver = {}
/\ sender = {3}
(* Transition 0 to State3 *)
State3 ==
Values = { 0, 1, 2, 3, 4, 5, 6 }
/\ medium = {3}
/\ receiver = {}
/\ sender = {}
(* Transition 1 to State4 *)
State4 ==
Values = { 0, 1, 2, 3, 4, 5, 6 }
/\ medium = {}
/\ receiver = {}
/\ sender = {}
(* The following formula holds true in the last state and violates the invariant *)
InvariantViolation == sender = {} /\ medium = {} /\ receiver = {}
================================================================================
(* Created by Apalache on Thu Dec 02 15:27:43 EST 2021 *)
(* https://github.com/informalsystems/apalache *) |
I'm also reproducing the same kind of timing results on the
using the
Whereas using the oopsla19 encoding:
Let's sync up tomorrow to see if we can figure out what's going on! |
Oh, that was running with the last release. If I switch the current release, I get times that are even closer in line with the CI results on For
and for
|
Thanks for the changes @shonfeder. I am now able to reproduce the error with |
Wonderful! The benchmarks are doing their job, and we have improved our debugging abilities! 🗡️ I'll add a flag to the CI that will let us tell the CI job when we want it to commit the counter examples etc. |
To let us debug what's causing counter-examples. See apalache-mc/apalache#1134 (comment)
We agreed a flag's not necessary for now, we can just make a quick code change when debugging is needed. |
Report from @rodrigo7491:
The text was updated successfully, but these errors were encountered: