Skip to content

[Question]Abstract Interpretation for proving liveness property #116

@PSuHyeon

Description

@PSuHyeon

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.
image

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

  1. Can abstract interpretation framework soundly prove liveness property?
  2. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions