gradual-verification / gvc0

Gradually Verified C0
6 stars 5 forks source link

Match Error ? && true #18

Closed jennalwise closed 2 years ago

jennalwise commented 2 years ago

Match error scala.MatchError: ? && true (of class viper.silver.ast.ImpreciseExp) that is occurring across the majority of the benchmark files generated for list.c0 seems to be caused by a translation issue in the frontend. When the corresponding .vpr file is run in the backend it verifies correctly. Further, I narrowed down the issue to a problem translating imprecise predicate bodies to a node that is in fact imprecise. I traced down the backend error and found that it is trying to case on a predicate body based on if it is precise or imprecise. However, the predicate body which should be imprecise is going into the precise case and creating the error.