The platform will undergo maintenance on Sep 14 at about 7:45 AM EST and will be unavailable for approximately 2 hours.
2018
DOI: 10.1007/978-3-030-02768-1_18
|View full text |Cite
|
Sign up to set email alerts
|

On the Complexity of Pointer Arithmetic in Separation Logic

Abstract: We investigate the complexity consequences of adding pointer arithmetic to separation logic. Specifically, we study extensions of the points-to fragment of symbolic-heap separation logic with various forms of Presburger arithmetic constraints. Most significantly, we find that, even in the minimal case when we allow only conjunctions of simple "difference constraints" x ′ ≤ x ± k (where k is an integer), polynomial-time decidability is already impossible: satisfiability becomes NP-complete, while quantifier-fre… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
4
0

Year Published

2019
2019
2021
2021

Publication Types

Select...
2
1

Relationship

0
3

Authors

Journals

citations
Cited by 3 publications
(4 citation statements)
references
References 26 publications
0
4
0
Order By: Relevance
“…Partitioning analysis: Based on the base-offset pointer analysis above, we define in Section 5.3 a new analysis that computes for each pointer expression an abstract location that collects a finite set of slices of symbolic blocks, i.e., the abstraction is a partial mapping from program's variables to sets of intervals representing offsets in the block. With this analysis, the abstract location computed for outArr+i (at line 39 of sort4, call in Figure 3 (b)) is more precise, i.e., {df → { [5,7], [0, 0]}}, and it allows to prove the post-condition for sort4. Notice that the analysis computes a finite set of slices in symbolic blocks whose concretizations (sets of locations) are pairwise disjoint.…”
Section: A Motivating Examplementioning
confidence: 99%
See 2 more Smart Citations
“…Partitioning analysis: Based on the base-offset pointer analysis above, we define in Section 5.3 a new analysis that computes for each pointer expression an abstract location that collects a finite set of slices of symbolic blocks, i.e., the abstraction is a partial mapping from program's variables to sets of intervals representing offsets in the block. With this analysis, the abstract location computed for outArr+i (at line 39 of sort4, call in Figure 3 (b)) is more precise, i.e., {df → { [5,7], [0, 0]}}, and it allows to prove the post-condition for sort4. Notice that the analysis computes a finite set of slices in symbolic blocks whose concretizations (sets of locations) are pairwise disjoint.…”
Section: A Motivating Examplementioning
confidence: 99%
“…. , df· [7]}. Given a cell-path c, we denote by r(c) the range of offsets (in bytes) that correspond to the path and which is computed using ABI.…”
Section: Partitioning By Cells (C)mentioning
confidence: 99%
See 1 more Smart Citation
“…Since the birth of separation logics, there has been a lot of interest in the study of decidability and computational complexity issues, see e.g. [3,10,11,7,15,31], and comparatively a bit less attention to the design of proof systems, and even less with the puristic approach that consists in discarding any external feature such as nominals or labels in the calculi. The well-known advantages of such an approach include an exhaustive understanding of the expressive power of the logic and discarding the use of any external artifact referring to semantical objects.…”
Section: Introductionmentioning
confidence: 99%