Skip to content

Finding predicates with arguments in the heap #36

Open
@viper-admin

Description

@viper-admin

Created by @mschwerhoff on 2013-07-25 10:23
Last updated on 2017-09-23 13:47

As illustrated by the test file Sil:all/predicates/arguments.sil, Silicon isn't able to verify snippets such as

inhale acc(this.valid(b), write)
inhale acc(this.valid(!b), write)
exhale acc(this.valid(true), write)

It is obvious that the prover needs to be invoked when looking for a matching heap chunk. It is not obvious, however, how to proceed. Since b and !b are both may- but not must-matches, one could i) just pick the first may-match and ignore other possibilities or ii) branch and try all possibilities.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions