hevm loop heuristic triggers even when using code without loops
- Dominant language
- Haskell
- Stars
- 358
- Forks
- 79
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 6
Description
After #853 is fixed, another issue related with the loop heuristic was found: it can be confused to detect loops where there is nothing like that.
To reproduce, clone [the abdk verification repository](https://github.com/gustavo-grieco/abdk-math-64.64-verification) and run the exploration using `make verify-hevm T=prove_inv_identity`. It will explore certain number of states. However, if you modify the Makefile to use `--loop-detection-heuristic StackBased` in the hevm call, you will see the number of states explored is around half of them (and the results will be available much faster!). Interestingly enough, [the code has no loops at all](https://github.com/gustavo-grieco/abdk-math-64.64-verification/blob/main/src/ABDKMath64x64PropertyTests.sol#L1025-L1035) (but some function calls are repeated).
Should we have a "no loop heuristic mode" ?
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.