Skip to content
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

Continue simulation on SMT timeout in enabledness check #2758

Merged
merged 2 commits into from
Oct 16, 2023
Merged

Conversation

thpani
Copy link
Collaborator

@thpani thpani commented Oct 16, 2023

Prevent Apalache from halting the (global) search if an enabledness query times out in simulate.

This is a simple fix that considers a transition disabled if the corresponding SMT query times out in simulate mode.

A more comprehensive treatment of timeouts in simulate would be more invasive: It would require us to differentiate timeouts from other UNKNOWN Z3 results, and to define (or parameterize) the expected search behavior if invariant or deadlock checks time out during simulation.

Partially addresses #2316 and unblocks informalsystems/quint#1196.

  • Tests added for any new code
  • Ran make fmt-fix (or had formatting run automatically on all files edited)
  • Documentation added for any new functionality
  • Entries added to ./unreleased/ for any new functionality

@thpani thpani requested a review from konnov October 16, 2023 10:37
@thpani thpani self-assigned this Oct 16, 2023
@codecov-commenter
Copy link

codecov-commenter commented Oct 16, 2023

Codecov Report

Merging #2758 (42d25ca) into main (5316435) will increase coverage by 0.00%.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##             main    #2758   +/-   ##
=======================================
  Coverage   78.86%   78.87%           
=======================================
  Files         464      464           
  Lines       15876    15878    +2     
  Branches     2557     2545   -12     
=======================================
+ Hits        12520    12523    +3     
+ Misses       3356     3355    -1     
Files Coverage Δ
...t/forsyte/apalache/tla/bmcmt/SeqModelChecker.scala 82.38% <0.00%> (-0.87%) ⬇️

... and 2 files with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

Copy link
Collaborator

@konnov konnov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a nice and simple workaround! I guess, we cannot distinguish between UNKNOWN and TIMEOUT in this case, right?

@thpani
Copy link
Collaborator Author

thpani commented Oct 16, 2023

I guess, we cannot distinguish between UNKNOWN and TIMEOUT in this case, right?

We could, but it would be a much bigger change, starting in Z3SolverContext.
I started working on it, but then gave up and decided this is probably the easier fix for now.
We can still pursue it if you think it's relevant.

@konnov
Copy link
Collaborator

konnov commented Oct 16, 2023

I think it's fine, especially, in combination with the log message. It does solve the issue!

@thpani thpani merged commit c877256 into main Oct 16, 2023
10 checks passed
@thpani thpani deleted the th/sim-timeout branch October 16, 2023 13:32
@apalache-bot apalache-bot mentioned this pull request Oct 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants