-
Notifications
You must be signed in to change notification settings - Fork 19
Description
While studying for final exam, I get to have question about abstract interpretation for proving liveness property.
As we learned in the class, abstract semantics soundly subsume all semantics defined in concrete semantics.

In addition, abstraction for values (such as integer or memory) soundly subsume, and may over-approximate, the concrete values that might occurs during the execution of program.
However, when we have to prove the existence of some property, not the absence of some property, having sound subsuming semantics becomes unsound. (I thought this way because to soundly prove existence of some property, we have to under-approximate such property. (i.e, if it is not sure if the property exists or not, say there is no such property.))
And my conclusion was that the abstract interpretation can be used to completely prove liveness property, while it is not possible to soundly prove the liveness property.
My question is
- Can abstract interpretation framework soundly prove liveness property?
- If yes, does abstract semantics operators and values still has to subsume all concrete semantics operators and values?
Actually, I had this question while solving past exam question: Password-486 in 2021. It seems like property defining certified program is liveness property, not safety property.