On Symbolic Heaps Modulo Permission Theories
Autor: | Demri, S, Lozes, E, Lugiez, Denis |
---|---|
Přispěvatelé: | Laboratoire Spécification et Vérification [Cachan] (LSV), École normale supérieure - Cachan (ENS Cachan)-Centre National de la Recherche Scientifique (CNRS), Centre National de la Recherche Scientifique (CNRS), COMmunications, Réseaux, systèmes Embarqués et Distribués (Laboratoire I3S - COMRED), Laboratoire d'Informatique, Signaux, et Systèmes de Sophia Antipolis (I3S), Université Nice Sophia Antipolis (... - 2019) (UNS), COMUE Université Côte d'Azur (2015-2019) (COMUE UCA)-COMUE Université Côte d'Azur (2015-2019) (COMUE UCA)-Centre National de la Recherche Scientifique (CNRS)-Université Côte d'Azur (UCA)-Université Nice Sophia Antipolis (... - 2019) (UNS), COMUE Université Côte d'Azur (2015-2019) (COMUE UCA)-COMUE Université Côte d'Azur (2015-2019) (COMUE UCA)-Centre National de la Recherche Scientifique (CNRS)-Université Côte d'Azur (UCA), Laboratoire d'Informatique et Systèmes (LIS), Aix Marseille Université (AMU)-Université de Toulon (UTLN)-Centre National de la Recherche Scientifique (CNRS), Université Nice Sophia Antipolis (1965 - 2019) (UNS), COMUE Université Côte d'Azur (2015-2019) (COMUE UCA)-COMUE Université Côte d'Azur (2015-2019) (COMUE UCA)-Centre National de la Recherche Scientifique (CNRS)-Université Côte d'Azur (UCA)-Université Nice Sophia Antipolis (1965 - 2019) (UNS) |
Jazyk: | angličtina |
Rok vydání: | 2018 |
Předmět: |
060201 languages & linguistics
Software_OPERATINGSYSTEMS 000 Computer science knowledge general works separation logic [INFO.INFO-LO]Computer Science [cs]/Logic in Computer Science [cs.LO] 06 humanities and the arts 02 engineering and technology ACM: D.: Software 16. Peace & justice entailment reasoning modulo theories 0602 languages and literature Computer Science 0202 electrical engineering electronic engineering information engineering permission [INFO]Computer Science [cs] 020201 artificial intelligence & image processing |
Zdroj: | 37th IARCS Foundation on Software Technology and Theoretical Computer Science 37th IARCS Foundation on Software Technology and Theoretical Computer Science, Dec 2017, Kanpur, India. ⟨10.4230/LIPIcs.FSTTCS.2017.25⟩ |
DOI: | 10.4230/lipics.fsttcs.2017.25 |
Popis: | International audience; We address the entailment problem for separation logic with symbolic heaps admitting list predicates and permissions for memory cells that are essential to express ownership of a heap region. In the permission-free case, the entailment problem is known to be in P. Herein, we design new decision procedures for solving the satisfiability and entailment problems that are parameterised by the permission theories. This permits the use of solvers dealing with the permission theory at hand, independently of the shape analysis. We also show that the entailment problem without list predicates is coNP-complete for several permission models, such as counting permissions and binary tree shares but the problem is in P for fractional permissions. Furthermore, when list predicates are added, we prove that the entailment problem is coNP-complete when the entail-ment problem for permission formulae is in coNP, assuming the write permission can be split into as many read permissions as desired. Finally, we show that the entailment problem for any Boolean permission model with infinite width is coNP-complete. 1 Introduction Separation logics with permissions. In program verification, proving properties of the memory is one of the most difficult tasks and separation logic has been devised for this goal [14]. Separation logic with permissions [4] can express that the ownership of a given heap region is shared with other threads. A permission can be thought of as a "quantity of ownership" associated to each cell of the heap. This quantity prescribes whether write accesses are allowed or not on this cell and how such a write access may be restored in the future. This abstract notion has lead to many permission theories and separation logics, including fractional permissions [5], token-based permissions [4], combinations of the two, binary tree shares [7], and yet some other models. Separation logic with permissions is supported by several tools like VeriFast [12], Hip/Sleek [11], or Heap-Hop [16]. Usually, these tools support only one permission model and demand that permissions are explicit values. For instance, in a tool that supports fractional permissions, to express that a cell x is shared by two threads for read access, one may write x 0.3 → y and x 0.7 → y making an arbitrary choice for permissions (0.3 and 0.7) when a better approach would use x α → y and x β → y and the constraint 1 = α + β (as it is done in the paper). This hides the logical structure of the proof and ties it to a specific arbitrary permission model. Our motivations. We wish to get rid of the use of explicit permission models and to provide a separation logic with permissions which can use symbolic permission expressions |
Databáze: | OpenAIRE |
Externí odkaz: |