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

[BUG] Deadlock detection may report false negatives #711

Open
konnov opened this issue Apr 4, 2021 · 2 comments
Open

[BUG] Deadlock detection may report false negatives #711

konnov opened this issue Apr 4, 2021 · 2 comments
Labels
bug Fsymb-exec Feature: symbolic execution product-owner-triage This should be triaged by the product owner usability UX improvements

Comments

@konnov
Copy link
Collaborator

konnov commented Apr 4, 2021

No deadlock detected, though TLC reports a deadlock

Input specification

See #110

The command line parameters used to run the tool

apalache check EWD840.tla

Expected behavior

A deadlock must be reported, see #110

System information

  • Apalache version 0.15.1
@konnov konnov added the bug label Apr 4, 2021
@konnov konnov self-assigned this Apr 4, 2021
@konnov
Copy link
Collaborator Author

konnov commented Apr 4, 2021

No deadlock is reported in version 0.11.0. It must have been broken a while ago.

@konnov
Copy link
Collaborator Author

konnov commented Apr 4, 2021

@lemmy it is not exactly an implementation bug. This is how we report deadlocks in symbolic execution: If for some k, there is no k+1-th extension of a symbolic path. In this spec, there is always a symbolic extension (you can apply SendMsg). But there is indeed a concrete state that has a deadlock.

It is true that this is not precisely deadlock detection, but a less precise version of deadlock detection. I have to think how to make it work for all the cases, when TLC can find a deadlock. Most likely, this will require us to deal with ENABLED, which requires additional constraints. So it should be definitely harder to find a deadlock in Apalache than in TLC.

@konnov konnov changed the title [BUG] Deadlock detection is broken in 0.15.0 [BUG] Precise deadlock detection Apr 4, 2021
@konnov konnov changed the title [BUG] Precise deadlock detection [BUG] Deadlock detection may report false negatives Apr 4, 2021
@konnov konnov added usability UX improvements Fsymb-exec Feature: symbolic execution labels Apr 4, 2021
@konnov konnov added the product-owner-triage This should be triaged by the product owner label Jul 13, 2022
@konnov konnov removed their assignment Jul 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Fsymb-exec Feature: symbolic execution product-owner-triage This should be triaged by the product owner usability UX improvements
Projects
None yet
Development

No branches or pull requests

2 participants