Consider enforcing termination checking #254
Replies: 3 comments
-
|
Beta Was this translation helpful? Give feedback.
-
Discussion at the [Verus all-hands]:
|
Beta Was this translation helpful? Give feedback.
-
From triage: @matthias-brun, @jaylorch: consider opting out for individual function, i.e. main, with an attributes. Folks are not against the idea. @jaylorch: find a name flaggable by the auditor. |
Beta Was this translation helpful? Give feedback.
-
@parno notes that no termination checking weakens the guarantees provided by verification, as a missing iteration counter increment, for example, may cause a verifiable program to stall in a case that could have been easily caught by the termination check.
Introducing an optional termination check is on the roadmap. We can consider a flag that enforces termination checking of all exec functions.
There is also the option to default to termination checking on, to avoid the pitfall @parno describes. I believe that requires further design to allow to selectively disable it (possibly in a manner similar to dafny's
decreases *
).Beta Was this translation helpful? Give feedback.
All reactions