Separation logics and modalities: a survey

Like modal logic, temporal logic, and description logic, separation logic has become a popular class of logical formalisms in computer science, conceived as assertion languages for Hoare-style proof systems with the goal to perform automatic program analysis. In a broad sense, separation logic is often understood as a programming language, an assertion language and a family of rules involving Hoare triples. In this survey, we present similarities between separation logic as an assertion language and modal and temporal logics. Moreover, we propose a selection of landmark results about decidability, complexity and expressive power.

[1]  Stéphane Demri,et al.  On the almighty wand , 2012, Inf. Comput..

[2]  Ian M. Hodkinson,et al.  Separation - Past, Present, and Future , 2005, We Will Show Them!.

[3]  Mihaela Sighireanu,et al.  Report on SL-COMP 2014 , 2014, J. Satisf. Boolean Model. Comput..

[4]  Peter W. O'Hearn,et al.  Compositional Shape Analysis by Means of Bi-Abduction , 2011, JACM.

[5]  Peter W. O'Hearn,et al.  BI as an assertion language for mutable data structures , 2001, POPL '01.

[6]  Martin Otto,et al.  Undecidability Results on Two-Variable Logics , 1997, STACS.

[7]  Robert C. Moore Reasoning About Knowledge and Action , 1977, IJCAI.

[8]  Peter W. O'Hearn,et al.  Scalable Shape Analysis for Systems Code , 2008, CAV.

[9]  Joël Ouaknine,et al.  Foundations for Decision Problems in Separation Logic with General Inductive Predicates , 2014, FoSSaCS.

[10]  Andreas Herzig,et al.  A Simple Separation Logic , 2013, WoLLIC.

[11]  B. Jack Copeland,et al.  The Genesis of Possible Worlds Semantics , 2002, J. Philos. Log..

[12]  John C. Reynolds,et al.  An Overview of Separation Logic , 2005, VSTTE.

[13]  Wolfram Schulte,et al.  Separation Logic Verification of C Programs with an SMT Solver , 2009, Electron. Notes Theor. Comput. Sci..

[14]  Pierre Wolper Temporal Logic Can Be More Expressive , 1983, Inf. Control..

[15]  Wei-Ngan Chin,et al.  Completeness of Pointer Program Verification by Separation Logic , 2009, 2009 Seventh IEEE International Conference on Software Engineering and Formal Methods.

[16]  Szymon Torunczyk,et al.  Automata based verification over linearly ordered data domains , 2011, STACS.

[17]  D. Gabbay Expressive Functional Completeness in Tense Logic (Preliminary report) , 1981 .

[18]  Alexander Moshe Rabinovich A Proof of Kamp's theorem , 2014, Log. Methods Comput. Sci..

[19]  James Brotherston,et al.  A decision procedure for satisfiability in separation logic with inductive predicates , 2014, CSL-LICS.

[20]  Thomas W. Reps,et al.  Satisfiability modulo abstraction for separation logic with linked lists , 2014, SPIN.

[21]  R. Labrecque The Correspondence Theory , 1978 .

[22]  Neil Immerman,et al.  Expressiveness and succinctness of first-order logic on finite words , 2011 .

[23]  Jerzy Marcinkowski On the Expressive Power of Graph Logic , 2006, CSL.

[24]  Edith Spaan The Complexity of Propositional Tense Logics , 1993 .

[25]  Robert W. Floyd,et al.  Assigning Meanings to Programs , 1993 .

[26]  Diego Figueira,et al.  Reasoning on words and trees with data , 2010 .

[27]  Slawomir Lasota,et al.  An Extension of Data Automata that Captures XPath , 2010, 2010 25th Annual IEEE Symposium on Logic in Computer Science.

[28]  A. Wilkie THE CLASSICAL DECISION PROBLEM (Perspectives in Mathematical Logic) By Egon Börger, Erich Grädel and Yuri Gurevich: 482 pp., DM.158.–, ISBN 3 540 57073 X (Springer, 1997). , 1998 .

[29]  Igor Walukiewicz,et al.  On the Expressive Completeness of the Propositional mu-Calculus with Respect to Monadic Second Order Logic , 1996, CONCUR.

[30]  Didier Galmiche,et al.  Tableaux and Resource Graphs for Separation Logic , 2010, J. Log. Comput..

[31]  Rune B. Lyngsø,et al.  Lecture Notes I , 2008 .

[32]  Luis Fariñas del Cerro,et al.  Global and Local Graph Modifiers , 2009, M4M.

[33]  Serge Abiteboul,et al.  Expressive Power of Query Languages , 1992, Theoretical Studies in Computer Science.

[34]  Wonyeol Lee,et al.  A proof system for separation logic with magic wand , 2014, POPL.

[35]  M. de Rijke,et al.  Modal Logic , 2001, Cambridge Tracts in Theoretical Computer Science.

[36]  Philippe Schnoebelen,et al.  Systems and Software Verification , 2001, Springer Berlin Heidelberg.

[37]  Phokion G. Kolaitis,et al.  On the Decision Problem for Two-Variable First-Order Logic , 1997, Bulletin of Symbolic Logic.

[38]  Stefan Göller On the Complexity of Reasoning About Dynamic Policies , 2007, CSL.

[39]  Xiaokang Qiu,et al.  Automatic techniques for proving correctness of heap-manipulating programs , 2013 .

[40]  Anuj Dawar,et al.  Separating Graph Logic from MSO , 2009, FoSSaCS.

[41]  M. Fitting Proof Methods for Modal and Intuitionistic Logics , 1983 .

[42]  Davide Bresolin,et al.  Metric Propositional Neighborhood Logics: Expressiveness, Decidability, and Undecidability , 2010, ECAI.

[43]  D. Gabbay,et al.  Temporal Logic Mathematical Foundations and Computational Aspects , 1994 .

[44]  Stéphane Demri,et al.  A Reduction from DLP to PDL , 2005, J. Log. Comput..

[45]  Thomas Schwentick,et al.  Two-variable logic on data words , 2011, TOCL.

[46]  Constantin Enea,et al.  A Logic-Based Framework for Reasoning about Composite Data Structures , 2009, CONCUR.

[47]  John C. Reynolds,et al.  Separation logic: a logic for shared mutable data structures , 2002, Proceedings 17th Annual IEEE Symposium on Logic in Computer Science.

[48]  Deepak D'Souza,et al.  An automata-theoretic approach to constraint LTL , 2002, Inf. Comput..

[49]  Johan van Benthem,et al.  An Essay on Sabotage and Obstruction , 2005, Mechanizing Mathematical Reasoning.

[50]  Maarten Marx,et al.  Multi-dimensional modal logic , 1997, Applied logic series.

[51]  Diego Calvanese,et al.  Expressive Description Logics , 2003, Description Logic Handbook.

[52]  Christof Löding,et al.  Model Checking and Satisfiability for Sabotage Modal Logic , 2003, FSTTCS.

[53]  Iranga Samindani Weerakkody චත්තාරික සමය හා බැඳි සාම්ප්රධායික පසන් ගායන ශෛලිය පිළිබඳ අධ්යයනයක් (Unpublished doctoral dissertation) , 2017 .

[54]  James Brotherston,et al.  Bunched Logics Displayed , 2012, Studia Logica.

[55]  Cristiano Calcagno,et al.  Infer: An Automatic Program Verifier for Memory Safety of C Programs , 2011, NASA Formal Methods.

[56]  Joost-Pieter Katoen,et al.  Who is Pointing When to Whom? On the Automated Verification of Linked List Structures , 2004 .

[57]  Frank Wolter,et al.  Handbook of Modal Logic , 2007, Studies in logic and practical reasoning.

[58]  Philippa Gardner,et al.  From Separation Logic to First-Order Logic , 2005, FoSSaCS.

[59]  Richard E. Ladner,et al.  The Computational Complexity of Provability in Systems of Modal Propositional Logic , 1977, SIAM J. Comput..

[60]  K. Fine Some Connections Between Elementary and Modal Logic , 1975 .

[61]  Philippa Gardner,et al.  Context logic as modal logic: completeness and parametric inexpressivity , 2007, POPL '07.

[62]  Andrey Rybalchenko,et al.  Separation Logic Modulo Theories , 2013, APLAS.

[63]  Margo McCall,et al.  IEEE Computer Society , 2019, Encyclopedia of Software Engineering.

[64]  Valentin Goranko,et al.  Using the Universal Modality: Gains and Questions , 1992, J. Log. Comput..

[65]  A. Mostowski Review: B. A. Trahtenbrot, Impossibility of an Algorithm for the Decision Problem in Finite Classes , 1950, Journal of Symbolic Logic.

[66]  Johan Anthory Willem Kamp,et al.  Tense logic and the theory of linear order , 1968 .

[67]  Neil Immerman,et al.  The Boundary Between Decidability and Undecidability for Transitive-Closure Logics , 2004, CSL.

[68]  Diego Figueira,et al.  Future-Looking Logics on Data Words and Trees , 2009, MFCS.

[69]  Ruzica Piskac,et al.  Automating Separation Logic Using SMT , 2013, CAV.

[70]  Étienne Lozes,et al.  Separation Logic Expressiveness and Copyless Message-Passing , 2012 .

[71]  Stéphane Demri,et al.  Two-Variable Separation Logic and Its Inner Circle , 2015, ACM Trans. Comput. Log..

[72]  Witold Charatonik,et al.  Decidability of weak logics with deterministic transitive closure , 2014, CSL-LICS.

[73]  Radu Iosif,et al.  The Tree Width of Separation Logic with Recursive Definitions , 2013, CADE.

[74]  Peter W. O'Hearn,et al.  Smallfoot: Modular Automatic Assertion Checking with Separation Logic , 2005, FMCO.

[75]  Hongseok Yang,et al.  Local reasoning for stateful programs , 2001 .

[76]  Philippa Gardner,et al.  An Introduction to Context Logic , 2007, WoLLIC.

[77]  Rajeev Goré,et al.  Proof search for propositional abstract separation logics via labelled sequents , 2014, POPL.

[78]  C. Lewis,et al.  A Survey Of Symbolic Logic , 1920 .

[79]  Mordechai Ben-Ari,et al.  Deterministic Propositional Dynamic Logic: Finite Models, Complexity, and Completeness , 1982, J. Comput. Syst. Sci..

[80]  B. Nebel Introduction to Modal Logic Introduction , 2009 .

[81]  Viktor Kuncak,et al.  On Spatial Conjunction as Second-Order Logic , 2004, ArXiv.

[82]  Nissim Francez,et al.  Finite-Memory Automata , 1994, Theor. Comput. Sci..

[83]  Kshitij Bansal,et al.  Beyond Shapes: Lists with Ordered Data , 2009, FoSSaCS.

[84]  Moshe Y. Vardi The complexity of relational query languages (Extended Abstract) , 1982, STOC '82.

[85]  Thomas Schwentick,et al.  Finite state machines for strings over infinite alphabets , 2004, TOCL.

[86]  M. de Rijke,et al.  Semantic characterizations of navigational XPath , 2005, SGMD.

[87]  Benjamin Charles Moszkowski Reasoning about Digital Circuits , 1983 .

[88]  Antoine Meyer,et al.  A logic of reachable patterns in linked data-structures , 2006, J. Log. Algebraic Methods Program..

[89]  Max J. Cresswell,et al.  A New Introduction to Modal Logic , 1998 .

[90]  Dov M. Gabbay,et al.  Temporal Logic: Mathematical Foundations and Computational Aspects: Volume 2 , 1994 .

[91]  Charles G. Morgan,et al.  Methods for Automated Theorem Proving in Nonclassical Logics , 1976, IEEE Transactions on Computers.

[92]  M. Rabin Decidability of second-order theories and automata on infinite trees , 1968 .

[93]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[94]  Alan J. Hu,et al.  Verifying Heap-Manipulating Programs in an SMT Framework , 2007, ATVA.

[95]  Thomas Schwentick,et al.  Two-Variable Logic with Two Order Relations - (Extended Abstract) , 2010, CSL.

[96]  Peter W. O'Hearn,et al.  Possible worlds and resources: the semantics of BI , 2004, Theor. Comput. Sci..

[97]  Lauri Hella,et al.  The Expressive Power of Modal Dependence Logic , 2014, Advances in Modal Logic.

[98]  Yuri Gurevich,et al.  The Classical Decision Problem , 1997, Perspectives in Mathematical Logic.

[99]  Joël Ouaknine,et al.  Tractable Reasoning in a Fragment of Separation Logic , 2011, CONCUR.

[100]  Thomas Schwentick,et al.  Two-Variable Logic on Words with Data , 2006, 21st Annual IEEE Symposium on Logic in Computer Science (LICS'06).

[101]  Anuj Dawar,et al.  Adjunct Elimination Through Games in Static Ambient Logic , 2004, FSTTCS.

[102]  James Brotherston,et al.  Undecidability of Propositional Separation Logic and Its Neighbours , 2010, 2010 25th Annual IEEE Symposium on Logic in Computer Science.

[103]  Didier Galmiche,et al.  A Modal BI Logic for Dynamic Resource Properties , 2013, LFCS.

[104]  Joël Ouaknine,et al.  SeLoger: A Tool for Graph-Based Reasoning in Separation Logic , 2013, CAV.

[105]  Tjark Weber Towards Mechanized Program Verification with Separation Logic , 2004, CSL.

[106]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[107]  R. M. Burstall,et al.  Some Techniques for Proving Correctness of Programs which Alter Data Structures , 2013 .

[108]  Tiziana Margaria,et al.  Tools and algorithms for the construction and analysis of systems: a special issue for TACAS 2017 , 2001, International Journal on Software Tools for Technology Transfer.

[109]  Peter W. O'Hearn,et al.  A Decidable Fragment of Separation Logic , 2004, FSTTCS.

[110]  Peter W. O'Hearn,et al.  Permission accounting in separation logic , 2005, POPL '05.

[111]  Mario R. F. Benevides,et al.  Propositional Dynamic Logic with Storing, Recovering and Parallel Composition , 2011, LSFA.

[112]  Maarten Marx,et al.  Hybrid logics: characterization, interpolation and complexity , 2001, Journal of Symbolic Logic.

[113]  D. Holdstock Past, present--and future? , 2005, Medicine, conflict, and survival.

[114]  Philippe Schnoebelen,et al.  Systems and Software Verification, Model-Checking Techniques and Tools , 2001 .

[115]  Constantin Enea,et al.  Compositional Invariant Checking for Overlaid and Nested Linked Lists , 2013, ESOP.

[116]  Cesare Tinelli,et al.  Satisfiability Modulo Theories , 2021, Handbook of Satisfiability.

[117]  Edith Hemaspaandra,et al.  The Price of Universality , 1996, Notre Dame J. Formal Log..

[118]  M. de Rijke,et al.  The Modal Logic of Inequality , 1992, J. Symb. Log..

[119]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[120]  Diego Calvanese,et al.  The Description Logic Handbook: Theory, Implementation, and Applications , 2003, Description Logic Handbook.

[121]  Walter J. Savitch,et al.  Relationships Between Nondeterministic and Deterministic Tape Complexities , 1970, J. Comput. Syst. Sci..

[122]  Saul Kripke,et al.  A completeness theorem in modal logic , 1959, Journal of Symbolic Logic.

[123]  Bernhard Beckert,et al.  Dynamic Logic , 2007, The KeY Approach.

[124]  Claire David,et al.  Analyse de XML avec données non-bornées , 2009 .

[125]  Ursula Dresdner,et al.  Computation Finite And Infinite Machines , 2016 .

[126]  D. Gabbay,et al.  Many-Dimensional Modal Logics: Theory and Applications , 2003 .

[127]  Rémi Brochenin,et al.  Separation logic : expressiveness, complexity, temporal extension. (Logique de séparation : expressivité, complexité, extension temporelle) , 2013 .

[128]  Samson Abramsky,et al.  From IF to BI: a tale of dependence and separation , 2011, ArXiv.

[129]  L. Ahlfors On Phragmén-Lindelöf’s principle , 1937 .

[130]  Dov M. Gabbay,et al.  EXPRESSIVE FUNCTIONAL COMPLETENESS IN TENSE LOGIC , 1981 .

[131]  Ulrike Sattler,et al.  Modal Logic and the Two-Variable Fragment , 2001, CSL.

[132]  Dominique Larchey-Wendling,et al.  Nondeterministic Phase Semantics and the Undecidability of Boolean BI , 2011, TOCL.

[133]  Wei-Ngan Chin,et al.  Completeness of Separation Logic with Inductive Definitions for Program Verification , 2014, SEFM.

[134]  Leonid Libkin,et al.  Elements of Finite Model Theory , 2004, Texts in Theoretical Computer Science.

[135]  Philipp Rohde Moving in a Crumbling Network: The Balanced Case , 2004, CSL.

[136]  Anuj Dawar,et al.  Expressiveness and complexity of graph logic , 2007, Inf. Comput..

[137]  Howard Straubing Finite Automata, Formal Logic, and Circuit Complexity , 1994, Progress in Theoretical Computer Science.

[138]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[139]  Neil Immerman,et al.  Effectively-Propositional Reasoning about Reachability in Linked Data Structures , 2013, CAV.

[140]  Peter W. O'Hearn,et al.  The Logic of Bunched Implications , 1999, Bulletin of Symbolic Logic.

[141]  Dominique Larchey-Wendling,et al.  The Undecidability of Boolean BI through Phase Semantics , 2010, 2010 25th Annual IEEE Symposium on Logic in Computer Science.

[142]  Daniel Leivant,et al.  Logic, language, information and computation : 14th International Workshop, WoLLIC 2007 Rio de Janeiro, Brazil, July 2-5, 2007 : proceedings , 2007 .

[143]  Lauretta O. Osho,et al.  Axiomatic Basis for Computer Programming , 2013 .

[144]  Stéphane Demri,et al.  Separation Logic with One Quantified Variable , 2016, Theory of Computing Systems.

[145]  Xiaokang Qiu,et al.  Decidable logics combining heap structures and data , 2011, POPL '11.

[146]  Viktor Vafeiadis,et al.  A Marriage of Rely/Guarantee and Separation Logic , 2007, CONCUR.

[147]  Luca Cardelli,et al.  Anytime, anywhere: modal logics for mobile ambients , 2000, POPL '00.

[148]  Peter W. O'Hearn,et al.  Computability and Complexity Results for a Spatial Assertion Language for Data Structures , 2001, APLAS.

[149]  Peter W. O'Hearn,et al.  A Primer on Separation Logic (and Automatic Program Verification and Analysis) , 2012, Software Safety and Security.

[150]  Peter W. O'Hearn,et al.  A Local Shape Analysis Based on Separation Logic , 2006, TACAS.

[151]  Riccardo Pucella,et al.  Reasoning about Dynamic Policies , 2004, FoSSaCS.

[152]  Stéphane Demri,et al.  LTL with the Freeze Quantifier and Register Automata , 2006, 21st Annual IEEE Symposium on Logic in Computer Science (LICS'06).

[153]  Stéphane Demri,et al.  Reasoning about sequences of memory states , 2009, Ann. Pure Appl. Log..

[154]  M. de Rijke,et al.  Encoding Two-Valued Nonclassical Logics in Classical Logic , 2001, Handbook of Automated Reasoning.

[155]  Eran Yahav,et al.  Verifying Temporal Heap Properties Specified via Evolution Logic , 2003, Log. J. IGPL.

[156]  Carsten Lutz,et al.  Complexity and succinctness of public announcement logic , 2006, AAMAS '06.

[157]  Lauri Hella,et al.  One-dimensional Fragment of First-order Logic , 2014, Advances in Modal Logic.

[158]  James Brotherston,et al.  Parametric completeness for separation theories , 2014, POPL.

[159]  Peter Schäuble,et al.  On the expressive power of query languages , 1994, TOIS.

[160]  S. Presentation Separation logic preserves the expressive power of classical logic , 2003 .

[161]  David J. Pym,et al.  The semantics and proof theory of the logic of bunched implications , 2002, Applied logic series.

[162]  Kousha Etessami,et al.  Proceedings, 12th Annual IEEE Symposium on Logic in Computer Science, Warsaw, Poland, June 29 - July 2, 1997 , 1997, LICS.

[163]  Sylvain Schmitz,et al.  Complexity Hierarchies beyond Elementary , 2013, TOCT.

[164]  John C. Reynolds,et al.  Intuitionistic reasoning about shared mutable data structure , 1999 .

[165]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[166]  James F. Allen Maintaining knowledge about temporal intervals , 1983, CACM.

[167]  Patricia Bouyer,et al.  A logical characterization of data languages , 2002, Inf. Process. Lett..

[168]  Peter W. O'Hearn,et al.  Local Action and Abstract Separation Logic , 2007, 22nd Annual IEEE Symposium on Logic in Computer Science (LICS 2007).

[169]  Frank Wolter,et al.  Handbook of Modal Logic, Volume 3 (Studies in Logic and Practical Reasoning) , 2006 .

[170]  Kousha Etessami,et al.  First-Order Logic with Two Variables and Unary Temporal Logic , 2002, Inf. Comput..

[171]  Julian-Steffen Müller,et al.  Modal Independence Logic , 2014, Advances in Modal Logic.

[172]  Deepak D'Souza,et al.  An Automata-Theoretic Approach to Constraint LTL , 2002, FSTTCS.

[173]  Xiaokang Qiu,et al.  Natural proofs for structure, data, and separation , 2013, PLDI.