-
-
Notifications
You must be signed in to change notification settings - Fork 38
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
Exhaustive search via transition enumeration #542
Milestone
Comments
andrey-kuprianov
added
new
New issue to be triaged.
FMBT
Feature: support for model-based testing
labels
Feb 4, 2021
Closed
I would de-prioritize this one in favor of #730 |
3 tasks
Last time we have decided to prioritize this approach, at least as a provisional solution. I think there is a nice way to implement enumeration of counterexamples and make it useful in various scenarios. See a detailed description in the discussion #827. |
konnov
added a commit
that referenced
this issue
May 18, 2021
This was referenced May 18, 2021
konnov
added a commit
that referenced
this issue
Jun 11, 2021
* closes #542: enumeration of counterexamples by view abstraction * simplify the code * update the manual with enumeration of counterexamples * changelog entry * add the missing page * fix formatting * reporting normal errors instead of failures * fix types in the decoder * enumerating the same invariant over predicates * path constraints in the right place * Update tla-bmcmt/src/main/scala/at/forsyte/apalache/tla/bmcmt/SeqModelChecker.scala Co-authored-by: Kukovec <jkukovec@forsyte.at> * added a comment as suggested by Jure * fix formatting Co-authored-by: Kukovec <jkukovec@forsyte.at>
Merged
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The ability to enumere counterexamples is crucial in such usage scenarios as model-based testing, where counterexamples are used as test cases. As the first step towards #79, we need to implement the simplest exhaustive search for counterexamples: via enumerating sequences of transitions.
--continue
option;-continue
should use a different sequence of transitions leading to an invariant violation.In case of a lot of non-determinism this can of course blow up, because it means enumerating the tree branches. But exhaustiveness on the base of transition sequences is the simplest to implement, and offers an intuitive mental picture for the end user. This strategy can later be complemented in the scope of #79 with different ones (based on the values of state variables for example).
The text was updated successfully, but these errors were encountered: