A check fails and returns a counterexample trace. What is it?
- A guess at where the bug might be
- A proof that the system is safe
- A run of the model that reaches the bug
What does a model checker explore?
- Only the starting state
- Every reachable state of a finite model
- One randomly picked run
Adding components multiplies the number of states.
Circle one: True False
You modeled a small protocol and got a failing trace. How do you use it?
- Delete the trace and rerun
- Read it back as a bug in the design
- Ship the model since traces are normal
Your check will not finish. Following the lesson, what do you do?
- Shrink the model with an abstraction that keeps the property intact
- Check fewer states at random
- Rewrite the property until it passes
Which two cuts respect the lesson's rule for shrinking a model?
- Drop the property and sample at random
- Add components and hope for speed
- Hide detail the property never mentions and merge states it cannot tell apart
A check fails. Which output helps you most, and why?
- The state count, showing how big the model is
- The counterexample trace, showing the exact run that breaks the property
- The runtime, showing how long the check took
A teammate says a passing check on any small model proves the real system safe. What is missing?
- The abstraction must preserve the property, or the pass means nothing
- Small models are always wrong
- Passing checks never matter