Abstract
In 2004, Berdine, Calcagno and O’Hearn introduced a fragment of separation logic that allows for reasoning about programs with pointers and linked lists. They showed that entailment in this fragment is in coNP, but the precise complexity of this problem has been open since. In this paper, we show that the problem can actually be solved in polynomial time. To this end, we represent separation logic formulae as graphs and show that every satisfiable formula is equivalent to one whose graph is in a particular normal form. Entailment between two such formulae then reduces to a graph homomorphism problem. We also discuss natural syntactic extensions that render entailment intractable.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Berdine, J., Calcagno, C., Cook, B., Distefano, D., O’Hearn, P.W., Wies, T., Yang, H.: Shape analysis for composite data structures. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 178–192. Springer, Heidelberg (2007)
Berdine, J., Calcagno, C., O’Hearn, P.W.: A Decidable Fragment of Separation Logic. In: Lodaya, K., Mahajan, M. (eds.) FSTTCS 2004. LNCS, vol. 3328, pp. 97–109. Springer, Heidelberg (2004)
Berdine, J., Calcagno, C., O’Hearn, P.W.: Smallfoot: Modular automatic assertion checking with separation logic. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2005. LNCS, vol. 4111, pp. 115–137. Springer, Heidelberg (2006)
Calcagno, C., Distefano, D., O’Hearn, P.W., Yang, H.: Space invading systems code. In: Logic-Based Program Synthesis and Transformation, pp. 1–3. Springer, Heidelberg (2009)
Calcagno, C., Yang, H., O’Hearn, P.W.: Computability and complexity results for a spatial assertion language for data structures. In: Hariharan, R., Mukund, M., Vinay, V. (eds.) FSTTCS 2001. LNCS, vol. 2245, pp. 108–119. Springer, Heidelberg (2001)
Cook, B., Haase, C., Ouaknine, J., Parkinson, M., Worrell, J.: Tracatable reasoning in a fragment of separation logics (full version). Technical report, University of Oxford (2011), http://www.cs.ox.ac.uk/people/christoph.haase/sl.pdf
Distefano, D., Parkinson, M.: jstar: towards practical verification for java. In: OOPSLA 2008, pp. 213–226. ACM, New York (2008)
Garey, M.R., Johnson, D.S.: Computers and Intractability; A Guide to the Theory of NP-Completeness. W. H. Freeman & Co., New York (1990)
Gorogiannis, N., Kanovich, M., O’Hearn, P.: The complexity of abduction for separated heap abstraction. In: SAS 2011. Springer, Heidelberg (to appear, 2011)
Haase, C., Lutz, C.: Complexity of subsumption in the EL family of description logics: Acyclic and cyclic tboxes. In: ECAI 2008, pp. 25–29. IOS Press, Amsterdam (2008)
Ishtiaq, S.S., O’Hearn, P.W.: Bi as an assertion language for mutable data structures. In: POPL 2001, pp. 14–26. ACM, New York (2001)
Jacobs, B., Piessens, F.: The VeriFast program verifier. Technical Report 520, Department of Computer Science, Katholieke Universiteit Leuven (2008)
Miklau, G., Suciu, D.: Containment and equivalence for an XPath fragment. In: PODS 2002, pp. 65–76. ACM, New York (2002)
Reynolds, J.C.: Separation logic: A logic for shared mutable data structures. In: LICS 2002, IEEE Computer Society Press, Los Alamitos (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cook, B., Haase, C., Ouaknine, J., Parkinson, M., Worrell, J. (2011). Tractable Reasoning in a Fragment of Separation Logic. In: Katoen, JP., König, B. (eds) CONCUR 2011 – Concurrency Theory. CONCUR 2011. Lecture Notes in Computer Science, vol 6901. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-23217-6_16
Download citation
DOI: https://doi.org/10.1007/978-3-642-23217-6_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-23216-9
Online ISBN: 978-3-642-23217-6
eBook Packages: Computer ScienceComputer Science (R0)