Skip to main content
Top

2015 | OriginalPaper | Chapter

Automated Theorem Proving for Assertions in Separation Logic with All Connectives

Authors : Zhé Hóu, Rajeev Goré, Alwen Tiu

Published in: Automated Deduction - CADE-25

Publisher: Springer International Publishing

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

This paper considers Reynolds’s separation logic with all logical connectives but without arbitrary predicates. This logic is not recursively enumerable but is very useful in practice. We give a sound labelled sequent calculus for this logic. Using numerous examples, we illustrate the subtle deficiencies of several existing proof calculi for separation logic, and show that our rules repair these deficiencies. We extend the calculus with rules for linked lists and binary trees, giving a sound, complete and terminating proof system for a popular fragment called symbolic heaps. Our prover has comparable performance to Smallfoot, a prover dedicated to symbolic heaps, on valid formulae extracted from program verification examples; but our prover is not competitive on invalid formulae. We also show the ability of our prover beyond symbolic heaps, our prover handles the largest fragment of logical connectives in separation logic.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Literature
1.
go back to reference 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) CrossRef 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) CrossRef
2.
go back to reference Berdine, J., Calcagno, C., O’Hearn, P.W.: Symbolic execution with separation logic. In: Yi, K. (ed.) APLAS 2005. LNCS, vol. 3780, pp. 52–68. Springer, Heidelberg (2005) CrossRef Berdine, J., Calcagno, C., O’Hearn, P.W.: Symbolic execution with separation logic. In: Yi, K. (ed.) APLAS 2005. LNCS, vol. 3780, pp. 52–68. Springer, Heidelberg (2005) CrossRef
3.
go back to reference Berdine, J., O’Hearn, P.W.: Strong update, disposal, and encapsulation in bunched typing. Electron. Notes Theor. Comput. Sci. 158, 81–98 (2006)CrossRef Berdine, J., O’Hearn, P.W.: Strong update, disposal, and encapsulation in bunched typing. Electron. Notes Theor. Comput. Sci. 158, 81–98 (2006)CrossRef
4.
go back to reference Bornat, R., Calcagno, C., Yang, H.: Variables as resource in separation logic. In: MFPS, vol. 155 of ENTCS, pp. 247–276 (2006) Bornat, R., Calcagno, C., Yang, H.: Variables as resource in separation logic. In: MFPS, vol. 155 of ENTCS, pp. 247–276 (2006)
7.
go back to reference Brotherston, J., Distefano, D., Petersen, R.L.: Automated cyclic entailment proofs in separation logic. In: Bjørner, N., Sofronie-Stokkermans, V. (eds.) CADE 2011. LNCS, vol. 6803, pp. 131–146. Springer, Heidelberg (2011) CrossRef Brotherston, J., Distefano, D., Petersen, R.L.: Automated cyclic entailment proofs in separation logic. In: Bjørner, N., Sofronie-Stokkermans, V. (eds.) CADE 2011. LNCS, vol. 6803, pp. 131–146. Springer, Heidelberg (2011) CrossRef
8.
go back to reference Brotherston, J., Gorogiannis, N., Petersen, R.L.: A generic cyclic theorem prover. In: Jhala, R., Igarashi, A. (eds.) APLAS 2012. LNCS, vol. 7705, pp. 350–367. Springer, Heidelberg (2012) CrossRef Brotherston, J., Gorogiannis, N., Petersen, R.L.: A generic cyclic theorem prover. In: Jhala, R., Igarashi, A. (eds.) APLAS 2012. LNCS, vol. 7705, pp. 350–367. Springer, Heidelberg (2012) CrossRef
9.
go back to reference Calcagno, C., Parkinson, M., Vafeiadis, V.: Modular safety checking for fine-grained concurrency. In: Riis Nielson, H., Filé, G. (eds.) SAS 2007. LNCS, vol. 4634, pp. 233–248. Springer, Heidelberg (2007) CrossRef Calcagno, C., Parkinson, M., Vafeiadis, V.: Modular safety checking for fine-grained concurrency. In: Riis Nielson, H., Filé, G. (eds.) SAS 2007. LNCS, vol. 4634, pp. 233–248. Springer, Heidelberg (2007) CrossRef
10.
go back to reference 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) CrossRef 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) CrossRef
11.
go back to reference Demri, S., Galmiche, D., Larchey-Wendling, D., Méry, D.: Separation logic with one quantified variable. In: Hirsch, E.A., Kuznetsov, S.O., Pin, J.É., Vereshchagin, N.K. (eds.) CSR 2014. LNCS, vol. 8476, pp. 125–138. Springer, Heidelberg (2014) Demri, S., Galmiche, D., Larchey-Wendling, D., Méry, D.: Separation logic with one quantified variable. In: Hirsch, E.A., Kuznetsov, S.O., Pin, J.É., Vereshchagin, N.K. (eds.) CSR 2014. LNCS, vol. 8476, pp. 125–138. Springer, Heidelberg (2014)
12.
go back to reference Demri, S., Deters, M.: Expressive completeness of separation logic with two variables and no separating conjunction. In: CSL/LICS, Vienna (2014) Demri, S., Deters, M.: Expressive completeness of separation logic with two variables and no separating conjunction. In: CSL/LICS, Vienna (2014)
13.
go back to reference Distefano, D., Matthew, P.: jStar: towards practical verification for java. ACM Sigplan Not. 43, 213–226 (2008)CrossRef Distefano, D., Matthew, P.: jStar: towards practical verification for java. ACM Sigplan Not. 43, 213–226 (2008)CrossRef
14.
go back to reference Dockins, R., Hobor, A., Appel, A.W.: A fresh look at separation algebras and share accounting. In: Hu, Z. (ed.) APLAS 2009. LNCS, vol. 5904, pp. 161–177. Springer, Heidelberg (2009) CrossRef Dockins, R., Hobor, A., Appel, A.W.: A fresh look at separation algebras and share accounting. In: Hu, Z. (ed.) APLAS 2009. LNCS, vol. 5904, pp. 161–177. Springer, Heidelberg (2009) CrossRef
15.
go back to reference Galmiche, D., Méry, D.: Tableaux and resource graphs for separation logic. J. Logic Comput. 20(1), 189–231 (2007)CrossRef Galmiche, D., Méry, D.: Tableaux and resource graphs for separation logic. J. Logic Comput. 20(1), 189–231 (2007)CrossRef
16.
go back to reference Hobor, A., Villard, J.: The ramifications of sharing in data structures. In: POPL 2013, pp. 523–536. ACM, New York, NY, USA (2013) Hobor, A., Villard, J.: The ramifications of sharing in data structures. In: POPL 2013, pp. 523–536. ACM, New York, NY, USA (2013)
18.
go back to reference Hóu, Z.: Labelled Sequent Calculi and Automated Reasoning for Assertions in Separation Logic. Ph.D. thesis, The Australian National University (2015). Submitted Hóu, Z.: Labelled Sequent Calculi and Automated Reasoning for Assertions in Separation Logic. Ph.D. thesis, The Australian National University (2015). Submitted
19.
go back to reference Hóu, Z., Clouston, R., Goré, R., Tiu, A.: Proof search for propositional abstract separation logics via labelled sequents. In: POPL, pp. 465–476. ACM (2014) Hóu, Z., Clouston, R., Goré, R., Tiu, A.: Proof search for propositional abstract separation logics via labelled sequents. In: POPL, pp. 465–476. ACM (2014)
20.
go back to reference Hóu, Z., Tiu, A., Goré, R.: A labelled sequent calculus for BBI: proof theory and proof search. In: Galmiche, D., Larchey-Wendling, D. (eds.) TABLEAUX 2013. LNCS, vol. 8123, pp. 172–187. Springer, Heidelberg (2013) CrossRef Hóu, Z., Tiu, A., Goré, R.: A labelled sequent calculus for BBI: proof theory and proof search. In: Galmiche, D., Larchey-Wendling, D. (eds.) TABLEAUX 2013. LNCS, vol. 8123, pp. 172–187. Springer, Heidelberg (2013) CrossRef
21.
go back to reference Jensen, J.: Techniques for model construction in separation logic. Report (2013) Jensen, J.: Techniques for model construction in separation logic. Report (2013)
22.
go back to reference Jensen, J.B., Birkedal, L.: Fictional separation logic. In: Seidl, H. (ed.) Programming Languages and Systems. LNCS, vol. 7211, pp. 377–396. Springer, Heidelberg (2012) CrossRef Jensen, J.B., Birkedal, L.: Fictional separation logic. In: Seidl, H. (ed.) Programming Languages and Systems. LNCS, vol. 7211, pp. 377–396. Springer, Heidelberg (2012) CrossRef
23.
go back to reference Krishnaswami, N.R.: Reasoning about iterators with separation logic. In: SAVCBS, pp. 83–86. ACM (2006) Krishnaswami, N.R.: Reasoning about iterators with separation logic. In: SAVCBS, pp. 83–86. ACM (2006)
24.
go back to reference Lee, W., Park, S.: A proof system for separation logic with magic wand. In: POPL 2014, pp. 477–490. ACM, New York, NY, USA (2014) Lee, W., Park, S.: A proof system for separation logic with magic wand. In: POPL 2014, pp. 477–490. ACM, New York, NY, USA (2014)
25.
go back to reference Maclean, E., Ireland, A., Grov, G.: Proof automation for functional correctness in separation log. J. Logic Comput. (2014) Maclean, E., Ireland, A., Grov, G.: Proof automation for functional correctness in separation log. J. Logic Comput. (2014)
26.
go back to reference Maeda, T., Sato, H., Yonezawa, A.: Extended alias type system using separating implication. In: TLDI 2011, pp. 29–42. ACM, New York, NY, USA (2011) Maeda, T., Sato, H., Yonezawa, A.: Extended alias type system using separating implication. In: TLDI 2011, pp. 29–42. ACM, New York, NY, USA (2011)
27.
go back to reference Navarro Pérez, J.A., Rybalchenko, A.: Separation logic + superposition calculus = heap theorem prover. In: PLDI 2011, pp. 556–566. ACM, USA (2011) Navarro Pérez, J.A., Rybalchenko, A.: Separation logic + superposition calculus = heap theorem prover. In: PLDI 2011, pp. 556–566. ACM, USA (2011)
28.
go back to reference Navarro Pérez, J.A., Rybalchenko, A.: Separation logic modulo theories. In: Shan, C. (ed.) APLAS 2013. LNCS, vol. 8301, pp. 90–106. Springer, Heidelberg (2013) CrossRef Navarro Pérez, J.A., Rybalchenko, A.: Separation logic modulo theories. In: Shan, C. (ed.) APLAS 2013. LNCS, vol. 8301, pp. 90–106. Springer, Heidelberg (2013) CrossRef
30.
go back to reference O’Hearn, P.W., Reynolds, J.C., Yang, H.: Local reasoning about programs that alter data structures. In: Fribourg, L. (ed.) CSL 2001 and EACSL 2001. LNCS, vol. 2142, pp. 1–19. Springer, Heidelberg (2001) CrossRef O’Hearn, P.W., Reynolds, J.C., Yang, H.: Local reasoning about programs that alter data structures. In: Fribourg, L. (ed.) CSL 2001 and EACSL 2001. LNCS, vol. 2142, pp. 1–19. Springer, Heidelberg (2001) CrossRef
31.
go back to reference Parkinson, M., Bornat, R., Calcagno, C.: Variables as resource in hoare logics. In: 21st LICS (2006) Parkinson, M., Bornat, R., Calcagno, C.: Variables as resource in hoare logics. In: 21st LICS (2006)
32.
go back to reference Reus, B., Schwinghammer, J.: Separation logic for higher-order store. In: Ésik, Z. (ed.) CSL 2006. LNCS, vol. 4207, pp. 575–590. Springer, Heidelberg (2006) CrossRef Reus, B., Schwinghammer, J.: Separation logic for higher-order store. In: Ésik, Z. (ed.) CSL 2006. LNCS, vol. 4207, pp. 575–590. Springer, Heidelberg (2006) CrossRef
33.
go back to reference Reynolds, J.C.: Intuitionistic reasoning about shared mutable data structure. In: Millennial Perspectives in Computer Science, pp. 303–321. Palgrave (2000) Reynolds, J.C.: Intuitionistic reasoning about shared mutable data structure. In: Millennial Perspectives in Computer Science, pp. 303–321. Palgrave (2000)
34.
go back to reference Reynolds, J.C.: Separation logic: a logic for shared mutable data structures. In: LICS, pp. 55–74. IEEE (2002) Reynolds, J.C.: Separation logic: a logic for shared mutable data structures. In: LICS, pp. 55–74. IEEE (2002)
35.
go back to reference Stewart, G., Beringer, L., Appel, A.W.: Verified heap theorem prover by paramodulation. In: ICFP, pp. 3–14. ACM (2012) Stewart, G., Beringer, L., Appel, A.W.: Verified heap theorem prover by paramodulation. In: ICFP, pp. 3–14. ACM (2012)
36.
go back to reference Thakur, A., Breck, J., Reps, T.: Satisfiability modulo abstraction for separation logic with linked lists. Technical report. University of Wisconsin (2014) Thakur, A., Breck, J., Reps, T.: Satisfiability modulo abstraction for separation logic with linked lists. Technical report. University of Wisconsin (2014)
37.
go back to reference Vafeiadis, V., Parkinson, M.: A marriage of rely/guarantee and separation logic. In: Caires, L., Vasconcelos, V.T. (eds.) CONCUR 2007. LNCS, vol. 4703, pp. 256–271. Springer, Heidelberg (2007) CrossRef Vafeiadis, V., Parkinson, M.: A marriage of rely/guarantee and separation logic. In: Caires, L., Vasconcelos, V.T. (eds.) CONCUR 2007. LNCS, vol. 4703, pp. 256–271. Springer, Heidelberg (2007) CrossRef
Metadata
Title
Automated Theorem Proving for Assertions in Separation Logic with All Connectives
Authors
Zhé Hóu
Rajeev Goré
Alwen Tiu
Copyright Year
2015
DOI
https://doi.org/10.1007/978-3-319-21401-6_34

Premium Partner