silver icon indicating copy to clipboard operation
silver copied to clipboard

Termination Plugin: deactivated flag set to false when decreases removed from code

Open aterga opened this issue 5 years ago • 5 comments

In particular, TerminationPlugin.mapVerificationResult in https://github.com/viperproject/silver/blob/master/src/main/scala/viper/silver/plugin/standard/termination/TerminationPlugin.scala#L125 performs a non-trivial transformation in the following case:

method foo()
{
    assert false
}

aterga avatar Apr 23 '20 22:04 aterga

Is this the intended behaviour?

aterga avatar Apr 23 '20 22:04 aterga

Which behaviour?

mschwerhoff avatar Apr 24 '20 08:04 mschwerhoff

From the discussions about the termination plugin that we had, I concluded that the deactivated flag should be switched on if there are no decreases clauses in the program, but I'm not 100% sure.

aterga avatar Apr 24 '20 13:04 aterga

Thanks for clarifying, sounds OK to me.

Out of curiosity: does the transformation, in absence of decreases clauses, actually do something (that affects the IDE)?

mschwerhoff avatar Apr 24 '20 13:04 mschwerhoff

Yes, when caching is enabled, the transformations affect the information about which nodes have been cached. I files a separate issue for that one: #451

aterga avatar Apr 24 '20 13:04 aterga