2013
DOI: 10.1007/978-3-642-39038-8_19
|View full text |Cite
|
Sign up to set email alerts
|

Verification Condition Generation for Permission Logics with Abstract Predicates and Abstraction Functions

Abstract: Abstract. Abstract predicates are the primary abstraction mechanism for program logics based on access permissions, such as separation logic and implicit dynamic frames. In addition to abstract predicates, it is useful to also support classical abstraction functions, for instance, to encode side-effect-free methods of the program and use them in specifications. However, combining abstract predicates and abstraction functions in a verification condition generator leads to subtle interactions, which complicate r… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
16
0

Year Published

2014
2014
2024
2024

Publication Types

Select...
8
1

Relationship

3
6

Authors

Journals

citations
Cited by 18 publications
(16 citation statements)
references
References 27 publications
0
16
0
Order By: Relevance
“…Intuitively, the locations to which M currently stores a positive permission amount are those that may be read from H at the current program point. For details of this encoding, see [20,10].…”
Section: Verification Condition Generation With Carbonmentioning
confidence: 99%
“…Intuitively, the locations to which M currently stores a positive permission amount are those that may be read from H at the current program point. For details of this encoding, see [20,10].…”
Section: Verification Condition Generation With Carbonmentioning
confidence: 99%
“…Permissions provide a straightforward story for framing the values of heap locations (and pure quantifiers over these): so long as the symbolic state contains some permission to a field location, its value will be preserved. However, framing heap-dependent functions is more complicated [20,8]. The value of a function can be framed so long as all locations the function depends on remain unchanged.…”
Section: Framing Heap-dependent Expressionsmentioning
confidence: 99%
“…In this paper, we present the first symbolic execution technique that directly supports general forms of ISC. Our technique is compatible with other features of permission logics: it supports fractional permissions [5], such that a heap location may be ranged over by several ISCs, and allows ISC to occur in predicate bodies and in preconditions of abstraction functions [8].…”
Section: Introductionmentioning
confidence: 96%
“…limited to listsegments); other verifiers support user defined, separation-logic predicates, with various heuristics for entailment [8,10]. Art is related to natural proofs [29,25] and the work of Heule et al [16], which instantiate recursive predicates using the local footprint of the heap accessed by a procedure, similar to how we insert fold and unfold heap annotations, enabling generalization and instantiation of structure properties. Finally, heap binders make it possible to use recursive functions (e.g.…”
Section: Related Workmentioning
confidence: 99%